Попытка опубликовать изображение для бота, однако оно публикуется несколько раз. Невозможно выяснить, где происходит цикл
Я создал бота, который публикует изображение всякий раз, когда вы вводите что-либо после упоминания имени бота. Тем не менее, бот должен публиковать изображение только один раз, но он продолжает публиковать несколько раз. Буду очень признателен за помощь в поиске решения этой проблемы
'use strict';
var util = require('util');
var path = require('path');
var fs = require('fs');
var Bot = require('slackbots');
var http = require('http');
var SethuBot = function Constructor(settings) {
this.settings = settings;
this.settings.name = this.settings.name || 'mufc';
this.user = null;
};
util.inherits(SethuBot, Bot);
SethuBot.prototype.run = function() {
SethuBot.super_.call(this, this.settings);
this.on('start', this._onStart);
this.on('message', this._onMessage);
};
SethuBot.prototype._onStart = function() {
this._loadBotUser();
};
SethuBot.prototype._onMessage = function(message) {
if (this._isChatMessage(message) && !this._isFromSethuBot(message)) {
this._smartresponse(message);
}
};
SethuBot.prototype._smartresponse = function(originalMessage) {
var self = this;
var channel = self._getChannelById(originalMessage.channel);
var urlToQuery = '';
var firstName = '';
var a = 'http://i.telegraph.co.uk/multimedia/archive/03481/David_Beckham_3481418k.jpg';
self.postMessageToChannel(channel.name, a, {
as_user: true,
attachments: [{
"fallback": "Required plain-text summary of theattachment.",
"color": "#36a64f",
"image_url": a
// "ts": 1
}]
});
};
SethuBot.prototype._loadBotUser = function() {
var self = this;
this.user = this.users.filter(function(user) {
return user.name === self.name;
})[0];
};
SethuBot.prototype._isChatMessage = function(message) {
return message.type === 'message' && Boolean(message.text);
};
SethuBot.prototype._isChannelConversation = function(message) {
return typeof message.channel === 'string' &&
message.channel[0] === 'C';
};
SethuBot.prototype._isFromSethuBot = function(message) {
return message.user === this.user.id;
};
SethuBot.prototype._getChannelById = function(channelId) {
return this.channels.filter(function(item) {
return item.id === channelId;
})[0];
};
module.exports = SethuBot;