mirror of https://github.com/velour/catbase.git
slackApp: a few fixes...
* DMs work again and are logged * bot knows who itself is
This commit is contained in:
parent
ac95fcc5e1
commit
74b32dd2e9
|
@ -185,27 +185,29 @@ func (s *SlackApp) msgReceivd(msg *slackevents.MessageEvent) {
|
||||||
}
|
}
|
||||||
|
|
||||||
isItMe := msg.BotID != "" && msg.BotID == s.myBotID
|
isItMe := msg.BotID != "" && msg.BotID == s.myBotID
|
||||||
if !isItMe && msg.ThreadTimeStamp == "" {
|
|
||||||
m := s.buildMessage(msg)
|
m := s.buildMessage(msg)
|
||||||
if m.Time.Before(s.lastRecieved) {
|
if m.Time.Before(s.lastRecieved) {
|
||||||
log.Debug().
|
log.Debug().
|
||||||
Time("ts", m.Time).
|
Time("ts", m.Time).
|
||||||
Interface("lastRecv", s.lastRecieved).
|
Interface("lastRecv", s.lastRecieved).
|
||||||
Msg("Ignoring message")
|
Msg("Ignoring message")
|
||||||
} else {
|
return
|
||||||
|
}
|
||||||
if err := s.log(m); err != nil {
|
if err := s.log(m); err != nil {
|
||||||
log.Fatal().Err(err).Msg("Error logging message")
|
log.Fatal().Err(err).Msg("Error logging message")
|
||||||
}
|
}
|
||||||
|
if !isItMe && msg.ThreadTimeStamp == "" {
|
||||||
s.lastRecieved = m.Time
|
s.lastRecieved = m.Time
|
||||||
s.event(s, bot.Message, m)
|
s.event(s, bot.Message, m)
|
||||||
}
|
|
||||||
} else if msg.ThreadTimeStamp != "" {
|
} else if msg.ThreadTimeStamp != "" {
|
||||||
//we're throwing away some information here by not parsing the correct reply object type, but that's okay
|
//we're throwing away some information here by not parsing the correct reply object type, but that's okay
|
||||||
s.event(s, bot.Reply, s.buildMessage(msg), msg.ThreadTimeStamp)
|
s.event(s, bot.Reply, s.buildMessage(msg), msg.ThreadTimeStamp)
|
||||||
|
} else if isItMe {
|
||||||
|
s.event(s, bot.SelfMessage, m)
|
||||||
} else {
|
} else {
|
||||||
log.Debug().
|
log.Debug().
|
||||||
Str("text", msg.Text).
|
Str("text", msg.Text).
|
||||||
Msg("THAT MESSAGE WAS HIDDEN")
|
Msg("Unknown message is hidden")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -408,12 +410,16 @@ func (s *SlackApp) buildMessage(m *slackevents.MessageEvent) msg.Message {
|
||||||
name := "UNKNOWN"
|
name := "UNKNOWN"
|
||||||
u, _ := s.getUser(m.User)
|
u, _ := s.getUser(m.User)
|
||||||
if u != nil {
|
if u != nil {
|
||||||
name = u.Name
|
name = u.Profile.DisplayName
|
||||||
}
|
}
|
||||||
if m.Username != "" && u == nil {
|
if m.Username != "" && u == nil {
|
||||||
name = m.Username
|
name = m.Username
|
||||||
}
|
}
|
||||||
ch, _ := s.getChannel(m.Channel)
|
|
||||||
|
chName := m.Channel
|
||||||
|
if ch, _ := s.getChannel(m.Channel); ch != nil {
|
||||||
|
chName = ch.Name
|
||||||
|
}
|
||||||
|
|
||||||
tstamp := slackTStoTime(m.TimeStamp)
|
tstamp := slackTStoTime(m.TimeStamp)
|
||||||
|
|
||||||
|
@ -425,7 +431,7 @@ func (s *SlackApp) buildMessage(m *slackevents.MessageEvent) msg.Message {
|
||||||
Body: text,
|
Body: text,
|
||||||
Raw: m,
|
Raw: m,
|
||||||
Channel: m.Channel,
|
Channel: m.Channel,
|
||||||
ChannelName: ch.Name,
|
ChannelName: chName,
|
||||||
IsIM: m.ChannelType == "im",
|
IsIM: m.ChannelType == "im",
|
||||||
Command: isCmd,
|
Command: isCmd,
|
||||||
Action: isAction,
|
Action: isAction,
|
||||||
|
|
Loading…
Reference in New Issue