Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/core/utils/tasks.py
2022-06-28 01:00:00 +08:00

38 lines
1.3 KiB
Python

from core.elements import MessageSession
class MessageTaskManager:
_list = {}
@staticmethod
def add_task(session: MessageSession, flag, all_=False):
sender = session.target.senderId
if all_:
sender = 'all'
MessageTaskManager._list.update(
{session.target.targetId: {sender: {'flag': flag, 'active': True}}})
@staticmethod
def get_result(session: MessageSession):
return MessageTaskManager._list[session.target.targetId][session.target.senderId]['result']
@staticmethod
def get():
return MessageTaskManager._list
@staticmethod
def check(session: MessageSession):
if session.target.targetId in MessageTaskManager._list:
sender = None
if session.target.senderId in MessageTaskManager._list[session.target.targetId]:
sender = session.target.senderId
if 'all' in MessageTaskManager._list[session.target.targetId]:
sender = 'all'
if sender is not None:
MessageTaskManager._list[session.target.targetId][sender]['result'] = session
MessageTaskManager._list[session.target.targetId][sender]['active'] = False
MessageTaskManager._list[session.target.targetId][sender]['flag'].set()
__all__ = ['MessageTaskManager']