這是我檢查用戶添加反應的事件:
const client = require("../index");
client.on('messageReactionAdd', async (reaction, user) => {
if (user.bot) return;
console.log(reaction.emoji.name);
});
它正在作業,但是當機器人重新啟動時,它無法獲取之前發送的任何訊息?
為什么以及如何解決它?
uj5u.com熱心網友回復:
如果您不啟用部分結構,則您的代碼僅適用于快取的訊息,即在連接機器人后發布的訊息。對舊訊息做出反應不會觸發該messageReactionAdd事件。如果您還想收聽對舊訊息的反應,則需要為 啟用部分結構MESSAGE,CHANNEL并REACTION在實體化客戶端時,如下所示:
const client = new Discord.Client({
intents: [/* YOUR INTENTS */],
partials: ['MESSAGE', 'CHANNEL', 'REACTION'],
});
uj5u.com熱心網友回復:
你需要部分:
const client = new Client({
intents: ‘’, // your intents here
partials: ['CHANNEL', 'GUILD_MEMBER', 'GUILD_SCHEDULED_EVENT', 'MESSAGE', 'REACTION', 'USER'],
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/460026.html
標籤:javascript 节点.js 不和谐 不和谐.js
