From ac67a7ab386192a26ce1ab4ac94f59830bf8d93f Mon Sep 17 00:00:00 2001 From: Marcelo Schmidt <marcelo.schmidt@gmail.com> Date: Thu, 2 Jun 2016 09:43:22 -0300 Subject: [PATCH] Sends bot messages --- .../rocketchat-slackbridge/slackbridge.js | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/rocketchat-slackbridge/slackbridge.js b/packages/rocketchat-slackbridge/slackbridge.js index 3a28bb37178..7d378845704 100644 --- a/packages/rocketchat-slackbridge/slackbridge.js +++ b/packages/rocketchat-slackbridge/slackbridge.js @@ -222,14 +222,27 @@ class SlackBridge { if (message.edited) { msgObj.ets = new Date(parseInt(message.edited.ts.split('.')[0]) * 1000); } + if (message.subtype === 'bot_message') { + user = RocketChat.models.Users.findOneById('rocket.cat', { fields: { username: 1 } }); + } RocketChat.sendMessage(user, msgObj, room, { upsert: true }); } } processSubtypedMessage(room, user, message) { + let msgObj = null; switch (message.subtype) { case 'bot_message': - logger.events.error('Bot message not implemented'); + msgObj = { + msg: this.convertSlackMessageToRocketChat(message.text), + rid: room._id, + bot: true, + attachments: message.attachments, + username: message.username + }; + if (message.icons) { + msgObj.emoji = message.icons.emoji; + } break; case 'me_message': return { @@ -239,7 +252,7 @@ class SlackBridge { this.editMessage(room, user, message); return; case 'message_deleted': - let msgObj = RocketChat.models.Messages.findOneById(`${message.channel}S${message.deleted_ts}`); + msgObj = RocketChat.models.Messages.findOneById(`${message.channel}S${message.deleted_ts}`); if (msgObj) { Meteor.runAsUser(user._id, () => { Meteor.call('deleteMessage', msgObj); @@ -297,7 +310,7 @@ class SlackBridge { return; case 'pinned_item': if (message.attachments && message.attachments[0] && message.attachments[0].text) { - let msgObj = { + msgObj = { _id: `${message.attachments[0].channel_id}S${message.attachments[0].ts}`, ts: new Date(parseInt(message.attachments[0].ts.split('.')[0]) * 1000), rid: room._id, @@ -495,7 +508,6 @@ class SlackBridge { let user = null; if (message.subtype === 'message_deleted' || message.subtype === 'message_changed') { user = this.findUser(message.previous_message.user) || this.addUser(message.previous_message.user); - console.log(user); } else { user = this.findUser(message.user) || this.addUser(message.user); } -- GitLab