• Не работает bot.register_next_step_handler. Как исправить?

    @mokrievqa
    Тоже проблема с register_next_step_handler - вылетает такая же ошибка. Основная идея кода - собрать данные, выдать результат и сразу же начинать заново. Бот идет на второй круг, но после первого ввода данных падает с ошибкой TypeError: 'NoneType' object is not callable.
    Вот код:
    from telebot import TeleBot
    
    TOKEN = "" #token was removed, but I use it on myside
    
    bot = TeleBot(TOKEN)
    
    @bot.message_handler(commands=['start'])
    def start(message):
        bot.send_message(message.chat.id, 'Enter var1: ')
        bot.register_next_step_handler(message, tmf1)
    
    def tmf1(message):
        var1 = message.text
        bot.send_message(message.chat.id, 'Enter var2: ')
        bot.register_next_step_handler(message, tmf2, var1)
    
    def tmf2(message, var1):
        var2 = message.text
        bot.send_message(message.chat.id, f"String sum =  {var1 + var2} !")
        bot.register_next_step_handler(message, start(message))
    
    
    bot.polling()


    Вот результат:
    61c5dd760b7c1313933863.jpeg

    Вот ошибка:
    Traceback (most recent call last):
    File "D:\python\course\teletest.py", line 24, in
    bot.polling()
    File "C:\Python39\lib\site-packages\telebot\__init__.py", line 664, in polling
    self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates)
    File "C:\Python39\lib\site-packages\telebot\__init__.py", line 726, in __threaded_polling
    raise e
    File "C:\Python39\lib\site-packages\telebot\__init__.py", line 686, in __threaded_polling
    self.worker_pool.raise_exceptions()
    File "C:\Python39\lib\site-packages\telebot\util.py", line 135, in raise_exceptions
    raise self.exception_info
    File "C:\Python39\lib\site-packages\telebot\util.py", line 87, in run
    task(*args, **kwargs)
    TypeError: 'NoneType' object is not callable

    Process finished with exit code 1

    Ошибка падает сразу после отправки ботом 'Enter var2: ' .
    Подскажите пожалуйста как это можно исправить.
    Ответ написан
    Комментировать