javascript - 你如何创建一个反应收集器,它可以输出做出反应的用户的名字并将它们保存在 discord.js 中?
问题描述
我想制作一个反应收集器,它将存储点击嵌入的用户,以便我可以将它们用于其他事情,并输出在我制作饥饿游戏模拟器机器人时做出反应的每个人。
if (msg.content === prefix + 'start') {
msg.channel.send("React too the message above too join!");
msg.react("");
msg.awaitReactions(filter, {max: 24, time: 60000});
}
我目前有这个代码,我很确定你可以添加一些东西,但我不知道如何将它添加到这个上面并让它也收集反应并输出它们我已经尝试添加反应收集器但只是不能不要让他们太工作。
解决方案
Message#awaitReactions
与Message#createReactionCollector
您提到的反应收集器不同,我将举一个例子来回答。
例子:
const filter = (reaction, user) => {
return reaction.emoji.name === '';
};
const collector = message.createReactionCollector(filter, { max: 24, time: 60000 });
collector.on('collect', (reaction, user) => {
console.log(`Collected reaction from ${user.tag}`);
});
collector.on('end', collected => {
console.log(`Collected ${collected.size} reactions`);
});
Message#createReactionCollector
有两个事件collect
和end
,您可以收听这些事件以获得反应数量、做出反应的用户以及使用什么表情符号。
可以在此处找到相关文档
推荐阅读
- sql - 如何更改 Azure SQL 在线时间
- python - 在 python 上生成特定图的问题
- node.js - 安装 puppeteer 会引发错误,并显示“无法安装脚本 'node install.js'”
- python-3.x - 从 Django DeleteView 返回到 Django ListView 分页列表中的右侧页面
- java - 导入与当前类同名的类
- python - 使用打印功能的缩进逻辑
- python - 使用 Selenium-Python 检查页面中是否存在文本的最佳方法
- algorithm - 测试一组中的哪些圆相交
- ml - 在 Poly/ML 编程中计算没有重复的元素列表
- c# - 如何在c#中解码一些编码文本