如何避免电报机器人收到重复的回复?

时间:2019-10-13 19:36:31

标签: node.js telegram node-telegram-bot-api

我写了一个简单的电报机器人,在输入命令后它会显示一些统计信息。它可以完美地工作,除非多次向同一命令(同一命令的不同用户)输入同一命令。现在看起来像这样:

me: /hello
bot: "hey"
me: /hello
user2: /hello
user3: /hello
bot: "hey"
bot: "hey"
bot: "hey"

如果与上一条相同,则只显示一条消息。

me: /hello
bot: "hey"
me: /hello
user2: /hello
user3: /hello
bot: "hey"

我正在使用带轮询方法的node-telegram-bot-api(我稍后将其移动以使用webhooks)。

我只使用电报api中的bot.onText / bot.sendMessage函数。

bot.onText(/^\/test$/, async function onTestText(msg) {
    bot.sendMessage(msg.chat.id, 'hey', {parse_mode: 'Markdown'});
});

TLDR:如果bot多次收到同一命令,它将以X倍的消息响应。我需要避免这种情况。

1 个答案:

答案 0 :(得分:0)

也许您需要在代码内部实现全局锁定,这将锁定执行代码直到。解锁代码

static_assert( std::is_same_v<type_map::find_type<5u>, long> );