Duplicate messageUpdate events in sharded bot

I'm receiving duplicate messageUpdate events and I'm not sure why. I have tried storing messageId in redis and checking it before sending message, but still it somehow bypasses it. Is it some sort of retry event? It's kind of similar to a let's say a bump reminder bot

Relevant code:

messageUpdate.ts
if (utils.invalidCondition(newMessage)) return;
const messageUpdate = new MessageHandler();
const handler = messageUpdate.createHandler(newMessage.interaction!.commandName);
await handler.messageUpdate(oldMessage, newMessage);


MessageHandler
export class MessageHandler {
    constructor() {
        // do nothing.
    }

    createHandler(commandName: string): CreateHandlerReturnType {
        switch (commandName) {
            case "x":
                return new XHandler();
             // ...
        }
    }
}


XHandler
export class XHandler extends BaseMessageHandler {
  async messageUpdate(oldMsg: Message<boolean> | PartialMessage, newMsg: Message<boolean> | PartialMessage): Promise<void> {
   if (newMsg.embeds[0].title !== "Something") return;
   await newMsg.reply({ content: "Test" })
}
Was this page helpful?