more customizable message tasks
This commit is contained in:
parent
6448acc3e2
commit
e48fd8c3b2
3 changed files with 10 additions and 12 deletions
|
@ -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),
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
Reference in a new issue