55
66 "github.com/bwmarrin/discordgo"
77 "github.com/gaucho-racing/sentinel/discord/config"
8+ "github.com/gaucho-racing/sentinel/discord/model"
89 "github.com/gaucho-racing/sentinel/discord/pkg/logger"
910 "github.com/gaucho-racing/sentinel/discord/service"
1011)
@@ -15,6 +16,7 @@ func InitializeBot() {
1516 return
1617 }
1718 service .Discord .AddHandler (OnDiscordMessage )
19+ service .Discord .AddHandler (OnDiscordReaction )
1820 service .Discord .Identify .Intents = discordgo .MakeIntent (discordgo .IntentsAll )
1921 err := service .Discord .Open ()
2022 if err != nil {
@@ -25,9 +27,22 @@ func InitializeBot() {
2527}
2628
2729func OnDiscordMessage (s * discordgo.Session , m * discordgo.MessageCreate ) {
28- if m .Author .ID == s . State . User . ID {
30+ if m .Author .Bot {
2931 return
3032 }
33+
34+ logger .SugarLogger .Infof ("Message from %s in %s: %s" , m .Author .ID , m .ChannelID , m .Content )
35+
36+ _ , err := service .CreateDiscordMessage (model.DiscordMessage {
37+ DiscordUserID : m .Author .ID ,
38+ ChannelID : m .ChannelID ,
39+ MessageID : m .ID ,
40+ Content : m .Content ,
41+ })
42+ if err != nil {
43+ logger .SugarLogger .Errorf ("Failed to persist discord message: %v" , err )
44+ }
45+
3146 if ! strings .HasPrefix (m .Content , config .DiscordPrefix ) {
3247 return
3348 }
@@ -44,3 +59,21 @@ func OnDiscordMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
4459 logger .SugarLogger .Infof ("Unknown command: %s" , command )
4560 }
4661}
62+
63+ func OnDiscordReaction (s * discordgo.Session , r * discordgo.MessageReactionAdd ) {
64+ if r .UserID == s .State .User .ID {
65+ return
66+ }
67+
68+ logger .SugarLogger .Infof ("Reaction from %s in %s: %s" , r .UserID , r .ChannelID , r .Emoji .Name )
69+
70+ _ , err := service .CreateDiscordReaction (model.DiscordReaction {
71+ DiscordUserID : r .UserID ,
72+ ChannelID : r .ChannelID ,
73+ MessageID : r .MessageID ,
74+ Emoji : r .Emoji .Name ,
75+ })
76+ if err != nil {
77+ logger .SugarLogger .Errorf ("Failed to persist discord reaction: %v" , err )
78+ }
79+ }
0 commit comments