• Как вынести обработчик сообщений в отдельный модуль?

    @ROMANOFF174 Автор вопроса
    Пример решения такой:
    bot.py
    import telebot
    import config
    import file3 
    
    bot = telebot.TeleBot(config.token)
    
    
    @bot.message_handler(func=lambda message: message.chat.type == 'private', commands=['test'])
    def test(message):
       file3.test(bot, message)
    
    
    if __name__=='__main__':
        bot.polling(none_stop=True)


    file2.py
    class MyHandlers:
        def __init__(self, bot):
            self.bot = bot
    
        def callable_method(self, message):
            msg = self.bot.send_message(message.chat.id, f'_Введи имя:_', parse_mode='markdown')
            self.bot.register_next_step_handler(msg, self.step1)
            
        def step1(self, message):
            name = message.text
            msg = self.bot.send_message(message.chat.id, f'_Введи фамилию:_', parse_mode='markdown')
            self.bot.register_next_step_handler(msg, self.step2, name)
        
        def step2(self, message, name):
            surname = message.text
            self.bot.send_message(message.chat.id, f'Фамилия: {surname} Имя: {name}', parse_mode='markdown')


    file3.py
    from file2 import MyHandlers
    
    def test(bot, message):
        handlers1 = MyHandlers(bot)
        handlers1.callable_method(message)


    Спасибо господину Vindicar за помощь. в решении задачи!
    Ответ написан
    Комментировать