Ответы пользователя по тегу TeleBot
  • Чтобы продолжить требуется написать значение 2 раза, как исправить?

    mlt_melt
    @mlt_melt
    У вас идет вложенность хэндлеров. Да и вообщем, для фунции ansk не нужен декоратор, так как вы используете register_next_step_handler
    @bot.message_handler(content_types=['text'])
    def ans4(message):
        bot.send_message(message.chat.id, '4.Какой у вас опыт работы? \nПримерное количество контрактов!')
        bot.register_next_step_handler(message, ansk)
    
    def ansk(message):
        if not message.text.isdigit():
            bot.send_message(message.chat.id, 'Ошибка! Напишите значение в цифрах! \nКакой у вас опыт работы?')
            bot.register_next_step_handler(message, ansk)
        else:
            global salary
            salary = message.text.strip()
            bot.register_next_step_handler(message, ans5)


    И еще один совет: не используйте global. Это плохая практика. Например, если вы попробуете параллельно использовать бота с нескольких аккаунтов, то глобальные переменные будут переопределяться каждый раз для всех юзеров. Это может (99%) вызвать ошибки
    Ответ написан
    Комментировать