Я написал простого бота-телеграммы, который после ввода команды отображает некоторую статистику. Он работает безупречно, за исключением случаев, когда ему подают одну и ту же команду более одного раза (разные пользователи используют команду). Прямо сейчас выглядит примерно так:
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).
Я использую только функции bot.onText / bot.sendMessage из телеграммы api.
bot.onText(/^\/test$/, async function onTestText(msg) {
bot.sendMessage(msg.chat.id, 'hey', {parse_mode: 'Markdown'});
});
TLDR: если бот получает одну и ту же команду более одного раза, он ответит сообщением X раз. Мне нужно этого избегать.