Archived
1
0
Fork 0

more customizable message tasks

This commit is contained in:
yzhh 2021-08-17 23:35:54 +08:00
parent 6448acc3e2
commit e48fd8c3b2
3 changed files with 10 additions and 12 deletions

View file

@ -14,15 +14,11 @@ from core.bots.aiogram.tasks import MessageTaskManager, FinishedTasks
async def msg_handler(message: types.Message):
all_tsk = MessageTaskManager.get()
user_id = message.from_user.id
print(all_tsk)
print(user_id)
if user_id in all_tsk:
if message.text in confirm_command:
FinishedTasks.add_task(user_id, True)
else:
FinishedTasks.add_task(user_id, False)
FinishedTasks.add_task(user_id, message)
all_tsk[user_id].set()
MessageTaskManager.del_task(user_id)
return
msg = MessageSession(MsgInfo(targetId=f'Telegram|{message.chat.type}|{message.chat.id}',
senderId=f'Telegram|User|{message.from_user.id}', targetFrom='Telegram',
senderFrom='Telegram', senderName=message.from_user.username),
@ -30,4 +26,4 @@ async def msg_handler(message: types.Message):
await parser(msg)
if dp:
executor.start_polling(dp, skip_updates=True)
executor.start_polling(dp, skip_updates=True)

View file

@ -16,7 +16,7 @@ class MessageSession(MS):
async def sendMessage(self, msgchain, quote=True):
if isinstance(msgchain, str):
send = await self.session.message.answer(msgchain, reply=True if quote else False)
send = await self.session.message.answer(msgchain, reply=quote)
return MessageSession(target=MsgInfo(targetId=0, senderId=0, senderName='', targetFrom='Telegram|Bot',
senderFrom='Telegram|Bot'),
session=Session(message=send, target=send.chat.id, sender=send.from_user.id))
@ -25,12 +25,12 @@ class MessageSession(MS):
send_list = []
for x in msgchain:
if isinstance(x, Plain):
send = await self.session.message.answer(x.text)
send = await self.session.message.answer(x.text, reply=quote)
send_list.append(send)
count += 1
if isinstance(x, Image):
with open(await x.get(), 'rb') as image:
send = await self.session.message.reply_photo(image)
send = await self.session.message.reply_photo(image, reply=quote)
send_list.append(send)
count += 1
return MessageSession(target=MsgInfo(targetId=0, senderId=0, senderName='', targetFrom='Telegram|Bot',
@ -41,7 +41,9 @@ class MessageSession(MS):
flag = asyncio.Event()
MessageTaskManager.add_task(self.session.sender.id, flag)
await flag.wait()
return FinishedTasks.get()[self.session.sender.id]
if FinishedTasks.get()[self.session.sender.id].text in confirm_command:
return True
return False
async def checkPermission(self):

View file

@ -18,7 +18,7 @@ class FinishedTasks:
_list = {}
@staticmethod
def add_task(uid, result: bool):
def add_task(uid, result):
FinishedTasks._list.update({uid: result})
@staticmethod