Как сделать одноразовую команду в телеграм боте?

Мне нужно, чтобы телеграм бот не реагировал на повторные команды (для тех, кто любит баловаться). Чтобы команда '/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')
→ Ссылка