首页 > 解决方案 > 如何使用 node-telegram-bot-api 为每个用户执行相同的代码?

问题描述

说实话,我不知道如何处理以下问题。

使用电报节点机器人API我写了一个机器人。代码在链接:https ://jsfiddle.net/gauo9p0q/

我现在需要的是:

当用户 A 到达他要分享他的电话的地步时,我检查电话是否正确。如果不是,因为用户 B 开始使用机器人,他会收到他的手机不正确的消息,但到目前为止他还没有输入。发生这种情况是因为对象顺序是所有用户的顺序,并且代码对所有用户执行一次是什么构成了零件

else if (!re.test(msg.text) && order.status && msg.text != "Phone number" && msg.text != "Back" && order.type != "email") {
        bot.sendMessage(msg.chat.id, "Phone number is incorrect! Try again")
    }

即使对于用户 С 也会一直执行。

如何分别处理我的整个代码以及用户 A 和 B。在这种特定情况下,如何以独特的方式为每个用户创建对象顺序?

标签: javascriptnode.jsobjecttelegram-bot

解决方案


首先暂时删除所有条件,只需使用正则表达式在函数中验证电话号码并调用该函数。

 // THis is an example and you should customize that
bot.onText(/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/, (msg, match) => {

额外信息


推荐阅读