[英]Discord bot conversation
我正在创建一个discord机器人,该机器人将根据提出的问题来运行功能,其中多个问题是/不是。 回答“是”将起到一定作用,而回答“否”将结束问题。 我不希望机器人在每次读取“是”时都运行随机函数。 我唯一想到的解决方案是,一旦提出问题(基于单词触发器),用户就会陷入一个循环,在该循环中,机器人将不会响应“是” /“否”以外的任何触发器。 如果是,相关功能将运行。 如果否,则用户会跳出循环并能够触发另一个问题。 除了是/否外,机器人还会说“请以是或否答复”。如何在node.js / discord.js中进行编码?
如果这是用户必须运行以启动此对话的命令...我建议在谈论awaitMessages
官方文档中引用此awaitMessages
。 基本上,您可以在此之后加上一系列.then()
和if statements
, if statements
将根据用户的答案将用户带走多个路径,这些答案可以被过滤掉。
如果这是机器人的默认功能而不需要触发命令,则建议您在此区域谨慎操作,因为类似这样的内容可能非常垃圾。
一个例子:
message.channel.send('Is this a great bot?').then(async (start) => {
message.channel.awaitMessages(filter, { maxMatches: 1, time: 60000, errors: ['time']}).then(async (collected) => {
if (collected.first().content === "yes") {} else if (collected.first().content === "no") {}
})
您可以使用过滤filter
或其他方法过滤邮件,以便“ yes/no
是唯一可接受的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.