summaryrefslogtreecommitdiffstats
path: root/bridge
diff options
context:
space:
mode:
Diffstat (limited to 'bridge')
-rw-r--r--bridge/slack/slack.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go
index 1e956e9c..cad6959c 100644
--- a/bridge/slack/slack.go
+++ b/bridge/slack/slack.go
@@ -226,7 +226,8 @@ func (b *Bslack) handleSlack() {
text = b.replaceURL(text)
text = html.UnescapeString(text)
flog.Debugf("Sending message from %s on %s to gateway", message.Username, b.Account)
- b.Remote <- config.Message{Text: text, Username: message.Username, Channel: message.Channel, Account: b.Account, Avatar: b.getAvatar(message.Username), UserID: message.UserID}
+ msg := config.Message{Text: text, Username: message.Username, Channel: message.Channel, Account: b.Account, Avatar: b.getAvatar(message.Username), UserID: message.UserID}
+ b.Remote <- msg
}
}
}
@@ -249,24 +250,27 @@ func (b *Bslack) handleSlackClient(mchan chan *MMMessage) {
if err != nil {
continue
}
- user, err := b.rtm.GetUserInfo(ev.User)
- if err != nil {
- continue
- }
m := &MMMessage{}
- m.UserID = user.ID
- m.Username = user.Name
+ if ev.BotID == "" {
+ user, err := b.rtm.GetUserInfo(ev.User)
+ if err != nil {
+ continue
+ }
+ m.UserID = user.ID
+ m.Username = user.Name
+ }
m.Channel = channel.Name
m.Text = ev.Text
m.Raw = ev
m.Text = b.replaceMention(m.Text)
- if ev.BotID != "" && user.Name == "" {
+ if ev.BotID != "" {
bot, err := b.rtm.GetBotInfo(ev.BotID)
if err != nil {
continue
}
if bot.Name != "" {
m.Username = bot.Name
+ m.UserID = bot.ID
}
}
mchan <- m