Fetch messages beyond the cache

I’m developing a BOT that replies to messages.
But there is a problem that due to 13v, BOT can only fetch messages which are in the cache.

const refMessageID = await logChannel.messages.cache.find(c => c.content === referenceMessage.content)

As you can see here, I need to fetch the message from the cache.
Do you know any option/method/technique from where I can fetch the messages even if they are not in the cache?

Thank you.


Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

You can use something like this in an asynchronous function:

const messages = await logChannel.messages.fetch();
const message = messages.find(c => c.content == referenceMessage.content);

logChannel.messages.fetch() will fetch all messages in the channel and returns the same object as cache, but not missing messages out.

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x