0

我这里有一个简单的代码。我使用https://github.com/yagop/node-telegram-bot-api电报框架来制作我的第一个机器人。我有一个包含 10 个问题的数组。所以我无法理解如果我只想在用户回答前一个民意调查后才开始新的民意调查该怎么办?当我使用 /start 时,我当前的代码只列出了所有 10 个民意调查。这是我的代码(我使用了代码片段,因为它只能以这种方式正常工作):

bot.onText(/\/start (.+)/, (msg, [source, match]) => {
    const { id } = msg.chat
    if (match === test1Code){
        for (let i=0; i<test1Questions.length; i++){
            bot.sendPoll(id, test1Questions[i], pollOptions, {
                is_anonymous: false
            })
        }
    }
})

4

1 回答 1

0

您需要某种队列或流管理器。我可以推荐node-telegram-operation-managermau query engine。或者,您可以使用数据库来跟踪来自特定 userId 的答案。使用这种方法,您将只发送第一次民意调查。然后将根据轮询事件侦听器内部的逻辑发送其余的轮询。

于 2020-09-21T08:46:36.367 回答