У меня есть бот Telegram, который состоит из двух частей:
- Веб-часть, работающая с колбой с ORM
- Сам бот
Мне нужноначать опрос только один раз , но кажется, что когда я пытаюсь запустить его, app.py импортирует bot.py более одного раза, и он создает несколько "опросов"
Я пытался вызвать bot.polling() через колбу before_first_request, перемещая bot.polling () назад и вперед в приложение, его обработчики.Я не хочу создавать другое приложение, так как у меня здесь есть мои модели ORM
app.py
from flask import Flask
from telebot import TeleBot
app = Flask(__name__) # flask init
bot = TeleBot(os.getenv('TOKEN')) # bot init
# db init
from views import * # importing views into app to run them
from bot import * # importing bot handlers to run them
bot.py
from app import bot
@bot.message_handler() # message handler
def index(m):
bot.send_message(m.chat.id, 'Hello')
bot.polling() # needs to be run only once
Я хочу, чтобы оно былоработайте отдельно и одновременно и получите доступ к моей базе данных как с бота, так и с веб-сайта.