diff options
| author | Anhgelus Morhtuuzh <anhgelus.morhtuuzh@proton.me> | 2024-04-15 16:12:19 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <anhgelus.morhtuuzh@proton.me> | 2024-04-15 16:12:19 +0200 |
| commit | 9e6a5ce1d37d07e22383e2f6507117cc8e6ff85c (patch) | |
| tree | 7fae4d58183da89f9f1517d5a1852d63043785c1 /xp/events.go | |
| parent | beb0ea0ca44c96083a2ba2f683accc68ad30f1b1 (diff) | |
feat(level): update roles on new level
Diffstat (limited to 'xp/events.go')
| -rw-r--r-- | xp/events.go | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/xp/events.go b/xp/events.go index 3ce4f06..f936bd2 100644 --- a/xp/events.go +++ b/xp/events.go @@ -21,12 +21,24 @@ const ( ) func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) { + if m.Author.Bot { + return + } c := GetCopaing(m.Author.ID, m.GuildID) // add xp trimmed := utils.TrimMessage(strings.ToLower(m.Content)) - c.AddXP(s, XPMessage(uint(len(trimmed)), calcDiversity(trimmed)), func(_ uint, _ uint) { + m.Member.User = m.Author + m.Member.GuildID = m.GuildID + c.AddXP(s, m.Member, XPMessage(uint(len(trimmed)), calcDiversity(trimmed)), func(_ uint, _ uint) { if err := s.MessageReactionAdd(m.ChannelID, m.Message.ID, "⬆"); err != nil { - utils.SendAlert("xp/events.go - reaction add new level", "cannot add the reaction: "+err.Error()) + utils.SendAlert( + "xp/events.go - add reaction for new level", + err.Error(), + "channel id", + m.ChannelID, + "message id", + m.Message.ID, + ) } }) } @@ -119,7 +131,8 @@ func onDisconnect(s *discordgo.Session, e *discordgo.VoiceStateUpdate, client *r timeInVocal = MaxTimeInVocal } c := GetCopaing(u.DiscordID, u.GuildID) - c.AddXP(s, XPVocal(uint(timeInVocal)), func(_ uint, _ uint) { + e.Member.GuildID = e.GuildID + c.AddXP(s, e.Member, XPVocal(uint(timeInVocal)), func(_ uint, _ uint) { //TODO: handle new level in vocal }) } |
