不和谐机器人对话
Posted
技术标签:
【中文标题】不和谐机器人对话【英文标题】:Discord bot conversation 【发布时间】:2019-09-13 07:53:18 【问题描述】:我正在创建一个不和谐机器人,它将根据所提出的问题运行一个功能,其中多个是/否问题。回答“是”将起到一定的作用,而“否”应该结束问题。 我不希望机器人每次读取“是”时都运行随机函数。 我能想到的唯一解决方案是,一旦提出问题(基于单词触发器),用户就会陷入一个循环,其中机器人不会响应“是”/“否”以外的任何触发器。 如果是,将运行相关功能。 如果否,则用户退出循环并能够触发另一个问题。 除了是/否,机器人会说“请回答是或否” 如何在 node.js/discord.js 中编写代码?
【问题讨论】:
【参考方案1】:如果这是用户必须运行才能启动此对话的命令...我建议在讨论 awaitMessages
的 discord.js official documentaion 中引用此命令。基本上,您可以使用它,然后使用一系列.then()
和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
是唯一可接受的答案。
【讨论】:
以上是关于不和谐机器人对话的主要内容,如果未能解决你的问题,请参考以下文章