From c1da0b7a3b0b9b121e1bae696aa7e8f8f91ffdec Mon Sep 17 00:00:00 2001 From: Joren Date: Thu, 27 Jun 2024 14:39:17 +0200 Subject: [PATCH] Fix duplicate issues --- config.toml.example | 2 ++ main.go | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/config.toml.example b/config.toml.example index 68051a4..3e4d0e8 100644 --- a/config.toml.example +++ b/config.toml.example @@ -4,6 +4,7 @@ [[SERVERS]] SERVER_ID = "" OUTPUT_CHANNEL_ID = "" + ALLOW_DUPLICATES = false PREFIX_ENABLED = true SERVER_ID_ENABLED = false CHANNEL_ID_ENABLED = true @@ -18,6 +19,7 @@ SERVER_ID = "" OUTPUT_CHANNEL_ID = "" PREFIX_ENABLED = false + ALLOW_DUPLICATES = false SERVER_ID_ENABLED = false CHANNEL_ID_ENABLED = true MESSAGE_LINK_ENABLED = false diff --git a/main.go b/main.go index 77c3e63..e7bb4b3 100644 --- a/main.go +++ b/main.go @@ -4,6 +4,7 @@ import ( "fmt" "os" "regexp" + "strings" "github.com/BurntSushi/toml" "github.com/bwmarrin/discordgo" @@ -129,14 +130,15 @@ func checkMessageContent(s *discordgo.Session, server ServerConfig, m *discordgo match := regex.FindStringSubmatch(m.Content) if len(match) > 0 { matchedAddress := match[0] + matchedAddress = strings.TrimSpace(matchedAddress) message := formatMessage(server, coin, m.Author.Username, matchedAddress, serverName, m) - if !server.AllowDuplicates && MessageHistory[server.ServerID].ContainsItem(message) { + if !server.AllowDuplicates && MessageHistory[server.ServerID].ContainsItem(matchedAddress) { return } s.ChannelMessageSend(server.OutputChannelID, message) - MessageHistory[server.ServerID].Add(message) + MessageHistory[server.ServerID].Add(matchedAddress) } } } @@ -148,14 +150,15 @@ func checkEmbeds(s *discordgo.Session, server ServerConfig, m *discordgo.Message match := regex.FindStringSubmatch(embed.Description) if len(match) > 0 { matchedAddress := match[0] + matchedAddress = strings.TrimSpace(matchedAddress) message := formatMessage(server, coin, m.Author.Username, matchedAddress, serverName, m) - if !server.AllowDuplicates && MessageHistory[server.ServerID].ContainsItem(message) { + if !server.AllowDuplicates && MessageHistory[server.ServerID].ContainsItem(matchedAddress) { return } s.ChannelMessageSend(server.OutputChannelID, message) - MessageHistory[server.ServerID].Add(message) + MessageHistory[server.ServerID].Add(matchedAddress) } } }