簡體   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