我写了一个简单的电报机器人,在输入命令后它会显示一些统计信息。它可以完美地工作,除非多次向同一命令(同一命令的不同用户)输入同一命令。现在看起来像这样:
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倍的消息响应。我需要避免这种情况。
答案 0 :(得分:0)
也许您需要在代码内部实现全局锁定,这将锁定执行代码直到。解锁代码
static_assert( std::is_same_v<type_map::find_type<5u>, long> );