Почему перестает работать скрипт PyQt?
В файле telegram.logic лежит скрипт для бота
from aiogram import Bot, Dispatcher
from aiogram.types import Message
from core.handlers.basic import get_start
from core.settings import settings
import asyncio
import logging
async def start_bot(bot: Bot):
await bot.send_message(settings.bots.admin_id, text='Бот запущен!')
async def stop_bot(bot: Bot):
await bot.send_message(settings.bots.admin_id, text='Бот остановлен!')
async def start():
logging.basicConfig(level=logging.INFO,
format="%(asctime)s - [%(levelname)s] - %(name)s - "
"(%(filename)s).%(funcName)s(%(lineno)d) - %(message)s")
bot = Bot(token=settings.bots.bot_token, parse_mode='HTML')
dp = Dispatcher() # объект, который занимается получением update-ов
dp.startup.register(start_bot)
dp.message.register(get_start)
dp.shutdown.register(stop_bot)
try:
await dp.start_polling(bot) # включения получения update-ов
finally:
await bot.session.close()
if __name__ == '__main__':
asyncio.run(start())
В main файле лежит такой класс
class MainMenu(QtWidgets.QMainWindow):
def __init__(self, login, parent=None):
super().__init__(parent)
self.ui = UiMain()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.training)
self.ui.pushButton_2.clicked.connect(self.sleeping)
self.ui.pushButton_3.clicked.connect(self.planning)
self.ui.pushButton_4.clicked.connect(self.eating)
self.ui.pushButton_5.clicked.connect(self.add_tg_login)
self.login = login
self.check_db = CheckThread()
self.check_db.mysignal.connect(self.signal_handler)
if self.check_db.log_is_in_base(self.login):
self.start_bot()
def start_bot(self):
asyncio.run(telegram_logic.start())
def training(self):
pass
def sleeping(self):
pass
def planning(self):
pass
def eating(self):
self.eating_menu = Eating(self.login)
self.close()
self.eating_menu.show()
def add_tg_login(self):
if self.ui.lineEdit.text():
self.check_db.add_login_tg(self.login, self.ui.lineEdit.text())
def signal_handler(self, value):
if value == 'Вы успешно добавили телеграм!':
QtWidgets.QMessageBox.about(self, 'Оповещение', value)
# asyncio.run(telegram_logic.start())
else:
QtWidgets.QMessageBox.about(self, 'Оповещение', value)
self.ui.lineEdit.setText('')
При срабатывании функции start_bot(), телеграм бот запускается, а PyQt скрипт намертво виснет. С чем это связано и как это можно исправить?