2021-08-19 12:17:48 +00:00
|
|
|
import os
|
2021-08-18 13:11:14 +00:00
|
|
|
|
2021-08-19 12:17:48 +00:00
|
|
|
from aiogram import types, executor
|
2021-08-14 15:26:10 +00:00
|
|
|
|
2022-06-12 07:07:53 +00:00
|
|
|
from bots.aiogram.client import dp
|
|
|
|
from bots.aiogram.message import MessageSession, FetchTarget
|
|
|
|
from bots.aiogram.tasks import MessageTaskManager, FinishedTasks
|
|
|
|
from core.elements import MsgInfo, Session, PrivateAssets, Url
|
2021-08-14 15:26:10 +00:00
|
|
|
from core.parser.message import parser
|
2022-06-12 07:07:53 +00:00
|
|
|
from core.utils import init, load_prompt, init_scheduler
|
2021-08-19 12:17:48 +00:00
|
|
|
|
|
|
|
PrivateAssets.set(os.path.abspath(os.path.dirname(__file__) + '/assets'))
|
2021-08-21 15:58:07 +00:00
|
|
|
init()
|
2022-06-12 07:07:53 +00:00
|
|
|
Url.disable_mm = True
|
2021-08-14 15:26:10 +00:00
|
|
|
|
2021-08-20 16:32:46 +00:00
|
|
|
|
2021-08-14 15:26:10 +00:00
|
|
|
@dp.message_handler()
|
|
|
|
async def msg_handler(message: types.Message):
|
2021-08-16 16:07:04 +00:00
|
|
|
all_tsk = MessageTaskManager.get()
|
|
|
|
user_id = message.from_user.id
|
|
|
|
if user_id in all_tsk:
|
2021-08-17 15:35:54 +00:00
|
|
|
FinishedTasks.add_task(user_id, message)
|
2021-08-16 16:07:04 +00:00
|
|
|
all_tsk[user_id].set()
|
|
|
|
MessageTaskManager.del_task(user_id)
|
2021-08-14 15:26:10 +00:00
|
|
|
msg = MessageSession(MsgInfo(targetId=f'Telegram|{message.chat.type}|{message.chat.id}',
|
2021-08-23 12:44:31 +00:00
|
|
|
senderId=f'Telegram|User|{message.from_user.id}',
|
|
|
|
targetFrom=f'Telegram|{message.chat.type}',
|
2022-06-12 14:30:02 +00:00
|
|
|
senderFrom='Telegram|User', senderName=message.from_user.username, clientName='Telegram'),
|
2021-08-18 13:11:14 +00:00
|
|
|
Session(message=message, target=message.chat.id, sender=message.from_user.id))
|
2021-08-14 15:26:10 +00:00
|
|
|
await parser(msg)
|
|
|
|
|
2021-08-18 13:11:14 +00:00
|
|
|
|
|
|
|
async def on_startup(dispatcher):
|
2022-06-12 14:30:02 +00:00
|
|
|
await init_scheduler(FetchTarget)
|
2021-08-21 15:58:07 +00:00
|
|
|
await load_prompt(FetchTarget)
|
|
|
|
|
2021-08-18 13:11:14 +00:00
|
|
|
|
2021-08-14 15:26:10 +00:00
|
|
|
if dp:
|
2021-08-18 13:11:14 +00:00
|
|
|
executor.start_polling(dp, skip_updates=True, on_startup=on_startup)
|