Как сделать одноразовую команду в телеграм боте?
Мне нужно, чтобы телеграм бот не реагировал на повторные команды (для тех, кто любит баловаться). Чтобы команда '/start' была одноразовой. Заранее спасибо за ответ
Ответы (2 шт):
Автор решения: ryzen
→ Ссылка
Пример на JS
Можете создать внешнюю переменную, в которой будете хранить последнее сообщение. При каждом последующем сообщении - можно проверять совпадают ли значения текущего сообщения и прошлого.
const form = document.querySelector('form')
const input = document.querySelector('input')
let prev = '';
form.addEventListener('submit', e => {
e.preventDefault();
if (prev === input.value) {
console.log('Не балуйся')
return;
}
prev = input.value
console.log(input.value)
})
<form><input></form>
Автор решения: D. Violet
→ Ссылка
@bot.message_handler(commands=['start'])
def start(message):
if str(message.chat.id) in open('test.txt', 'r').read():
bot.send_message(message.chat.id, 'больше нельзя')
else:
open('test.txt', 'a').write(str(message.chat.id) + '\n')