Skip to content

Commit 7507f08

Browse files
committed
feat(discord): add channel_name to message/reaction, log all users including bots
1 parent a16bbdd commit 7507f08

4 files changed

Lines changed: 20 additions & 8 deletions

File tree

discord/commands/handler.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,24 @@ func InitializeBot() {
2727
}
2828

2929
func OnDiscordMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
30-
if m.Author.Bot {
31-
return
32-
}
30+
channelName := service.GetChannelName(m.ChannelID)
3331

34-
logger.SugarLogger.Infof("Message from %s in %s: %s", m.Author.ID, m.ChannelID, m.Content)
32+
logger.SugarLogger.Infof("Message from %s in #%s: %s", m.Author.ID, channelName, m.Content)
3533

3634
_, err := service.CreateDiscordMessage(model.DiscordMessage{
3735
DiscordUserID: m.Author.ID,
3836
ChannelID: m.ChannelID,
37+
ChannelName: channelName,
3938
MessageID: m.ID,
4039
Content: m.Content,
4140
})
4241
if err != nil {
4342
logger.SugarLogger.Errorf("Failed to persist discord message: %v", err)
4443
}
4544

45+
if m.Author.Bot {
46+
return
47+
}
4648
if !strings.HasPrefix(m.Content, config.DiscordPrefix) {
4749
return
4850
}
@@ -61,15 +63,14 @@ func OnDiscordMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
6163
}
6264

6365
func OnDiscordReaction(s *discordgo.Session, r *discordgo.MessageReactionAdd) {
64-
if r.UserID == s.State.User.ID {
65-
return
66-
}
66+
channelName := service.GetChannelName(r.ChannelID)
6767

68-
logger.SugarLogger.Infof("Reaction from %s in %s: %s", r.UserID, r.ChannelID, r.Emoji.Name)
68+
logger.SugarLogger.Infof("Reaction from %s in #%s: %s", r.UserID, channelName, r.Emoji.Name)
6969

7070
_, err := service.CreateDiscordReaction(model.DiscordReaction{
7171
DiscordUserID: r.UserID,
7272
ChannelID: r.ChannelID,
73+
ChannelName: channelName,
7374
MessageID: r.MessageID,
7475
Emoji: r.Emoji.Name,
7576
})

discord/model/discord_message.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ type DiscordMessage struct {
77
EntityID string `json:"entity_id"`
88
DiscordUserID string `json:"discord_user_id" gorm:"index"`
99
ChannelID string `json:"channel_id"`
10+
ChannelName string `json:"channel_name"`
1011
MessageID string `json:"message_id"`
1112
Content string `json:"content"`
1213
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`

discord/model/discord_reaction.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ type DiscordReaction struct {
77
EntityID string `json:"entity_id"`
88
DiscordUserID string `json:"discord_user_id" gorm:"index"`
99
ChannelID string `json:"channel_id"`
10+
ChannelName string `json:"channel_name"`
1011
MessageID string `json:"message_id"`
1112
Emoji string `json:"emoji"`
1213
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`

discord/service/discord.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,12 @@ func ConnectDiscord() {
1717
Discord = dg
1818
logger.SugarLogger.Infoln("Created Discord session")
1919
}
20+
21+
func GetChannelName(channelID string) string {
22+
channel, err := Discord.Channel(channelID)
23+
if err != nil {
24+
logger.SugarLogger.Errorf("Failed to get channel %s: %v", channelID, err)
25+
return ""
26+
}
27+
return channel.Name
28+
}

0 commit comments

Comments
 (0)