Fix emojiID/Name issue

This commit is contained in:
idanoo 2025-06-24 08:47:13 +12:00
parent 215b30b41f
commit de5ae550e0
Signed by: idanoo
GPG key ID: 387387CDBC02F132
2 changed files with 9 additions and 3 deletions

View file

@ -268,7 +268,12 @@ func purgeRecentEmojis(s *discordgo.Session, i *discordgo.InteractionCreate) {
x := 0
for _, emoji := range emojis {
err := s.MessageReactionRemove(emoji.ChannelID, emoji.MessageID, emoji.EmojiID, emoji.UserID)
emojiID := emoji.EmojiID
if emojiID == "" {
emojiID = emoji.EmojiName
}
err := s.MessageReactionRemove(emoji.ChannelID, emoji.MessageID, emojiID, emoji.UserID)
if err != nil {
slog.Error("Error removing emoji reaction", "err", err, "emoji", emoji.EmojiID, "user", user.ID)
continue

View file

@ -14,6 +14,7 @@ type EmojiUsage struct {
MessageID string
UserID string
EmojiID string
EmojiName string
Timestamp string
}
@ -158,7 +159,7 @@ func (db *Database) GetTopEmojisForGuildUser(guildID string, userID string, num
func (db *Database) GetRecentEmojisForUser(guildID string, userID string, hours int64) ([]EmojiUsage, error) {
var data []EmojiUsage
row, err := db.db.Query(
"SELECT guild_id, channel_id, message_id, user_id, emoji_id, timestamp "+
"SELECT guild_id, channel_id, message_id, user_id, emoji_id, emoji_name, timestamp "+
"FROM `emoji_usage` WHERE `guild_id` = ? AND `user_id` = ? AND timestamp >= datetime('now', '-"+fmt.Sprintf("%d", hours)+" hours') "+
"ORDER BY timestamp DESC",
guildID,
@ -172,7 +173,7 @@ func (db *Database) GetRecentEmojisForUser(guildID string, userID string, hours
defer row.Close()
for row.Next() {
usage := EmojiUsage{}
row.Scan(&usage.GuildID, &usage.ChannelID, &usage.MessageID, &usage.UserID, &usage.EmojiID, &usage.Timestamp)
row.Scan(&usage.GuildID, &usage.ChannelID, &usage.MessageID, &usage.UserID, &usage.EmojiID, &usage.EmojiName, &usage.Timestamp)
data = append(data, usage)
}