node-red-contrib-discord-advanced icon indicating copy to clipboard operation
node-red-contrib-discord-advanced copied to clipboard

Get Previous Message by ID

Open JakeStevenson opened this issue 1 year ago • 1 comments

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 . Moderator, replying to message A: @HelpBot HelpBot, replying to message A: @Joe, You can find help for at .....

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?

JakeStevenson avatar Jul 10 '23 21:07 JakeStevenson

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.

JuliaSoriaSmith avatar Apr 22 '24 13:04 JuliaSoriaSmith