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): async def msg_handler(message: types.Message):
all_tsk = MessageTaskManager.get() all_tsk = MessageTaskManager.get()
user_id = message.from_user.id user_id = message.from_user.id
print(all_tsk)
print(user_id)
if user_id in all_tsk: if user_id in all_tsk:
if message.text in confirm_command: FinishedTasks.add_task(user_id, message)
FinishedTasks.add_task(user_id, True)
else:
FinishedTasks.add_task(user_id, False)
all_tsk[user_id].set() all_tsk[user_id].set()
MessageTaskManager.del_task(user_id) MessageTaskManager.del_task(user_id)
return
msg = MessageSession(MsgInfo(targetId=f'Telegram|{message.chat.type}|{message.chat.id}', msg = MessageSession(MsgInfo(targetId=f'Telegram|{message.chat.type}|{message.chat.id}',
senderId=f'Telegram|User|{message.from_user.id}', targetFrom='Telegram', senderId=f'Telegram|User|{message.from_user.id}', targetFrom='Telegram',
senderFrom='Telegram', senderName=message.from_user.username), senderFrom='Telegram', senderName=message.from_user.username),

View file

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

View file

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