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