我试图让机器人等待用户的反应,但我不知道如何设置它。我已经试过了,我也在第一部分中加入了const过滤器
,但是当它对消息作出反应时,使用了1️⃣ 机器人回答。
message.channel.send(`the current number is: ${number}`).then(message => {
message.react('1️⃣')
message.react('2️⃣')
message.react('3️⃣')
});
const filter = (reaction, user) => {
return ['1️⃣', '2️⃣','3️⃣'].includes(reaction.emoji.name)
&& user.id === message.author.id;
}
message.awaitReactions(filter, { max: 1, time: 20000, errors: ['time'] })
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '1️⃣') {
message.reply('you reacted with 1');
} else if (reaction.emoji.name === '2️⃣') {
message.reply('you reacted with 2');
} else {
message.reply('you reacted with 3');
}
})
.catch(collected => {
message.reply('game has ended');
});
我看不到表情符号,但我会告诉你我是如何做到的(注意:我使用的是一个异步函数,所以我不必使用大量回调,我个人更喜欢它而不是。然后
链接):
const msg = await message.channel.send(`the current number is: ${number}`);
await Promise.all([
message.react('1️⃣'),
message.react('2️⃣'),
message.react('3️⃣')
]);
const filter = (reaction, user) => ['1️⃣', '2️⃣','3️⃣'].includes(reaction.emoji.name) && user.id === message.author.id;
const collector = msg.createReactionCollector(filter, { time: 120000, max: 1 }); //setup here
collector.on('collect', async () => {
//... your logic after reaction here
});
Discord.js客户端对象具有messageReactionAdd
(以及Remove、RemoveAll和当bot删除表情反应时)事件触发器,这为您提供了一个相当简单的解决方案。
let targetUser = "some-long-number";
// replace this with the author of the person who fires your
// reaction related command in your client.on('message') def.
client.on('messageReactionAdd', (reaction, user)) {
console.log('sample message to verify base functionality');
if (user != targetUser) return null;
switch (reaction.emoji.name) {
case "1️⃣":
message.reply("you reacted with 1️⃣");
break;
case "2️⃣":
message.reply("you reacted with 2️⃣");
break;
case "3️⃣":
message.reply("you reacted with 3️⃣");
break;
default:
// in case you want to log when they don't reply with the correct emoji.
break;
}
}
我可能在某个地方打错了,请随意更正。如果message.reply()
。
我正在发出一个有反应的帮助命令,机器人将添加一个反应,然后用户将作出反应,机器人将发布相应的帮助消息。我很困惑为什么我的代码不能工作,因为它没有抛出错误。 收到任何帮助都表示感谢:) Ps:我在嵌入的后面使用这个,所以我希望嵌入对它有一个反应,尽管我已经做了这一点,只是不知道如何在嵌入和反应之间有效地链接代码
问题内容: 可以说我想做一个循环或每秒打印出来的内容,例如“ Mario”。我怎样才能做到这一点?似乎找不到任何可以在任何地方教授此内容的优秀教程= P 问题答案: 您可以使用java.util.Timer。 任务是您要执行的方法,之后是直到第一次执行的时间,间隔是上述任务的两次执行之间的时间。
我正试图通过discord创建一个discord机器人。py并希望创建一个显示成员pfp的命令。但是,我希望bot能够识别何时正在ping,何时正在请求pfp。我如何重新格式化它,使我的机器人识别它是否在成员ping时被引用(假设机器人的名称和id为“bot#1111”) 我希望discord用户输入的reference命令 ,membget@Bot#1111
它返回几个错误,其中大多数显示:<代码> 我对编码很陌生,我只是想用推特API制作一个有趣的机器人,但有很多错误,我不知道该怎么办。 出现的主要错误如下: (从集合导入namedtuple,映射导入错误:无法从“集合”导入名称“映射”) 谁能帮帮我吗? 出现的错误:回溯(最近一次调用):文件“C:\Users\wgama\PycharmProjects\botesquilo\botesquilo.
我为jQuery UI开发了一个新特性,但我不明白在哪里可以找到它们的存储库中的文件。 我更改了https://code.jquery.com/ui/1.12.1/jquery-ui.min.js和https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css 但是在它们的存储库中没有名为jQuery-ui.js、jQuery-ui.min.
问题内容: 我在Go中有一个REPL应用,该应用应该对键盘按下事件(每个按下的按键的动作有所不同)做出反应,但是希望在阅读之前按下返回键: 我如何对Go中的按键事件做出反应? 问题答案: 游戏引擎通常实现这种功能。它们通常也与平台无关(通常至少是Windows,Linux,Mac OS X)。例如尝试Azul3D的键盘库。 逻辑就像我的头上一样 要获得当前当前按下的键的列表,只需遍历地图并列出va