1
0
forked from kodorvan/stcs
This commit is contained in:
algizn97
2025-08-29 11:44:24 +05:00
parent 8715b32139
commit 3462078a47

View File

@@ -1,8 +1,8 @@
import asyncio
import logging.config
from aiogram import Bot, Dispatcher
import app.services.Bybit.functions.bybit_ws as bybit_ws
import app.telegram.database.requests as rq
from app.services.Bybit.functions.bybit_ws import get_or_create_event_loop, set_event_loop
from app.telegram.database.models import async_main
from app.telegram.handlers.handlers import router
from app.telegram.functions.main_settings.settings import router_main_settings
@@ -21,37 +21,12 @@ bot = Bot(token=TOKEN_TG_BOT_1)
dp = Dispatcher()
def get_or_create_event_loop() -> asyncio.AbstractEventLoop:
"""
Возвращает текущий активный цикл событий asyncio или создает новый, если его нет.
"""
try:
return asyncio.get_running_loop()
except RuntimeError:
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
return loop
loop = get_or_create_event_loop()
bybit_ws.set_event_loop(loop)
async def run_ws_for_user(tg_id, message) -> None:
"""
Запускает WebSocket Bybit для пользователя с указанным tg_id.
"""
api_key = await rq.get_bybit_api_key(tg_id)
api_secret = await rq.get_bybit_secret_key(tg_id)
await bybit_ws.start_execution_ws(api_key, api_secret, message)
async def main() -> None:
"""
Основная асинхронная функция запуска бота:
"""
loop = get_or_create_event_loop()
set_event_loop(loop)
await async_main()