@kyklaed

Какой стандартный алгоритм работы бота?

Всем привет!
Есть такой вопрос, вот кусок бота, проблема в том что он отрабатывает сразу все, можно как то сделать так что бы когда пользователь жмет команду старт ему для начала предлагали ввести пароль , после ввода уже отрабатывало остальное. а тут получается так что как только ввожу старт он распознает команду и запускает нужную функцию но команду старт еще распознает как и текст.

@bot.message_handler(commands = ["start"])
def numberone(message):
    umber(message)

@bot.message_handler(content_type = ["text"])
def umber(message):
    bot.send_message(message.chat.id,"password pls")
    if message.text == 111:
        bot.send_message(message.chat.id,"norm")
    else:
        bot.send_message(message.chat.id,"oops")
  • Вопрос задан
  • 1158 просмотров
Пригласить эксперта
Ответы на вопрос 3
tsarevfs
@tsarevfs
C++ developer
Получаем все команды требующие регистрации в одном месте. Проверяем зарегистрированы ли уже. Если нет -- отправляем приглашение.
Отдельно обрабатываете попытки логина.
Ответ написан
Комментировать
@nllm
Надо хранить состояния пользователя и по ним смотреть когда и что отдавать, что делать.

Много аналогичных вопросов было. Ответы на них есть в данной теме.
Ответ написан
Комментировать
@kyklaed Автор вопроса
можно через лямбду в декараторе проверять имеет человек доступ или нет, но проблема остается например если имеет право, есть переменная new_doc = 0
после проверки пароля делаем new_doc+=1

а дальше по идее человеку должно быть предложение из след функции ввести что то еще для сохранения
но декаратор над функцией вот такого рода
@bot.message_handker(func=lambda new_doc: new_doc == 1)
не работает хотя new_doc равен 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы