📅  最后修改于: 2023-12-03 15:24:51.693000             🧑  作者: Mango
在 Discord.js 中,我们可以使用各种事件来处理用户的反应。例如,我们可以使用 messageReactionAdd
事件来检测用户给消息添加反应。
首先,我们需要在 Discord.js 中创建一个客户端实例:
const Discord = require('discord.js');
const client = new Discord.Client();
接下来,我们需要添加以下代码以启动我们的客户端:
client.login('YOUR_TOKEN_HERE');
在上述代码中,我们需要将 YOUR_TOKEN_HERE
替换为我们在 Discord 开发者门户网站创建的机器人令牌。
接下来,我们需要创建一个 messageReactionAdd
事件处理程序,以便在用户给消息添加反应时触发:
client.on('messageReactionAdd', (reaction, user) => {
console.log(user.tag + ' reacted with ' + reaction.emoji.name);
});
在上述代码中,我们使用 console.log()
方法将用户的名称和所选反应的名称打印到控制台。
此时,我们可以先运行程序,每次用户给消息添加反应时,我们能够在控制台看到相应输出。
要测试用户反应,我们需要在我们的 Discord 服务器中创建一个消息,并在该消息上添加一个反应。
请注意,为了回应您的机器人应用程序,您必须向您的机器人应用程序分配管理员权限。
对于文本频道,您可以直接在聊天栏中输入消息,然后右键单击消息并选择 “添加反应”。
对于发送私人消息或频道消息,您可以使用以下代码:
client.guilds.cache.get('GUILD_ID_HERE').channels.cache.get('CHANNEL_ID_HERE').send('YOUR_MESSAGE_HERE')
.then(message => {
message.react('EMOJI_HERE');
});
在上述代码中,我们使用 client.guilds.cache.get().channels.cache.get().send()
方法创建一个新消息,并使用 then()
方法添加所选反应。
将 GUILD_ID_HERE
和 CHANNEL_ID_HERE
替换为您要针对消息的服务器和频道的 ID。 将 YOUR_MESSAGE_HERE
替换为您要发送的消息,将 EMOJI_HERE
替换为所选反应的表情符号。
当任何用户给消息添加反应时,我们都能在控制台中看到所选反应的名称和用户的名称。
这就是如何使用 Discord.js 测试用户反应的完整过程!