diff options
| author | Anhgelus Morhtuuzh <anhgelus.morhtuuzh@proton.me> | 2024-04-16 15:46:26 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <anhgelus.morhtuuzh@proton.me> | 2024-04-16 15:46:26 +0200 |
| commit | ff711c918d196e60c60ad598f70d4efb89795a95 (patch) | |
| tree | 01ed0dfed612f5c3d5c01a8934c25f4a6e34f293 | |
| parent | 75df974f6fa47291eedadbea8bffbce7b90acfac (diff) | |
feat(xp): max xp per message
| -rw-r--r-- | xp/events.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/xp/events.go b/xp/events.go index 4940c0b..3895073 100644 --- a/xp/events.go +++ b/xp/events.go @@ -16,9 +16,10 @@ import ( ) const ( - ConnectedSince = "connected_since" - NotConnected = -1 - MaxTimeInVocal = 60 * 60 * 6 + ConnectedSince = "connected_since" + NotConnected = -1 + MaxTimeInVocal = 60 * 60 * 6 + MaxXpPerMessage = 250 ) func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) { @@ -34,7 +35,11 @@ func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) { trimmed := utils.TrimMessage(strings.ToLower(m.Content)) m.Member.User = m.Author m.Member.GuildID = m.GuildID - c.AddXP(s, m.Member, XPMessage(uint(len(trimmed)), calcDiversity(trimmed)), func(_ uint, _ uint) { + xp := XPMessage(uint(len(trimmed)), calcDiversity(trimmed)) + if xp > MaxXpPerMessage { + xp = MaxXpPerMessage + } + c.AddXP(s, m.Member, xp, func(_ uint, _ uint) { if err := s.MessageReactionAdd(m.ChannelID, m.Message.ID, "⬆"); err != nil { utils.SendAlert( "xp/events.go - add reaction for new level", |
