node-red-contrib-discord-advanced
node-red-contrib-discord-advanced copied to clipboard
Get Previous Message by ID
I have a bot that needs to be able to respond to a previous message when mentioned in a reply. For example:
Joe (message A): I need help with
Right now, I'm using discordMessage and capturing history of messages by ID, so if the bot sees another message come into the flow that mentions it's name, it will find the original, get the original request, and respond to it. But this can be memory intensive.
Is there a better way to get older messages by id than keeping a bunch of them in memory?
You can utilize the discordMessageManager. When you receive a message from discordMessage any message it is replying to is captured within the object, use this to get the previous message. E.g. in your case the message received for the moderator replying to the message, in the object there will be a reply parameter which contains the message id.
Using the discordMessageManager you can then obtain this message, if you set the msg.message parameter to the message id, and msg.action to 'info'. This will retrieve the previous message.