@getaxe
JS developer

Как поместить сообщение в cache?

Есть ивент messageReactionAdd, который улавливает установку реакции на сообщение КОТОРОЕ НАХОДИТЬСЯ В КЭШЕ.
В кэш сообщения попадают только те, которые были написаны ПОСЛЕ включения бота, и стираются из него при перезагрузке. Функцией fetch сообщение все же можно найти (например по id), но как заставить работать именно ивент (например, для выдачи ролей по реакциям)?
  • Вопрос задан
  • 130 просмотров
Решения вопроса 2
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
const client = new Client(
    { 
        intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MESSAGE_REACTIONS],
        partials: ['MESSAGE', 'CHANNEL', 'REACTION'],
    }
);

// . . . //

client.on("messageReactionAdd", async (reaction, user) => {
    if (reaction.partial) {
        try {
            let fullReactionMessage = await reaction.fetch();

            // далее работайте только с fullReactionMessage
        } catch (error) {
            console.error('Получить сообщение не удалось:', error);
            return;
        }
    } else {
        // ... //
    }
})
Ответ написан
shurshur
@shurshur
Сисадмин, просто сисадмин...
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы