в telebot не работают импортированные с другого файла хендлеры

Нужно раскидать обработчики телебота по разным файлам. Я пытаюсь сделать вот так

#start.py

from config import *

import telebot

from time import sleep

global bot
bot = telebot.TeleBot(BOT_TOKEN)


from choice_autogadget import choice_autogadget


@bot.message_handler(commands=['start'])
def start(message):

    mess = "текст"

    menu = telebot.types.InlineKeyboardMarkup()
    menu.add(telebot.types.InlineKeyboardButton(text="кнопка", callback_data ='choice_autogadget'))

    msg = bot.send_message(message.chat.id, text=mess, reply_markup=menu)

#    bot.register_next_step_handler(msg, choice_autogadget)


def start_bot():

    print('bot is running...')

    while True:
        try:
            bot.polling(non_stop=True)

        except Exception as err:
            print(err)
            sleep(15)


if __name__ == '__main__':
    start_bot()

Подключаемый файл

#choice_autogadget.py

import telebot

import sys
sys.path.append("..")

from start import bot
global bot




@bot.callback_query_handler(func=lambda call: call.data=="choice_autogadget")
def choice_autogadget(call):

    mess = "текст"

    msg = bot.send_message(call.message.chat.id, mess)

Обработчик из второго файла никак не реагирует на нажатие кнопки в первом. При этом не вылетает никаких ошибок. Не могу понять в чем дело, если функцию из второго файла скопировать в первый, то все работает, как надо. Но как сделать, что работала из второго?


Ответы (0 шт):