繁体   English   中英

不和谐机器人对话

[英]Discord bot conversation

我正在创建一个discord机器人,该机器人将根据提出的问题来运行功能,其中多个问题是/不是。 回答“是”将起到一定作用,而回答“否”将结束问题。 我不希望机器人在每次读取“是”时都运行随机函数。 我唯一想到的解决方案是,一旦提出问题(基于单词触发器),用户就会陷入一个循环,在该循环中,机器人将不会响应“是” /“否”以外的任何触发器。 如果是,相关功能将运行。 如果否,则用户会跳出循环并能够触发另一个问题。 除了是/否外,机器人还会说“请以是或否答复”。如何在node.js / discord.js中进行编码?

如果这是用户必须运行以启动此对话的命令...我建议在谈论awaitMessages 官方文档中引用此awaitMessages 基本上,您可以在此之后加上一系列.then()if statementsif 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM