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/elements/temp/__init__.py
2022-08-18 13:46:18 +08:00

66 lines
1.5 KiB
Python

from typing import Union
from core.elements import MessageSession
class EnabledModulesCache:
_cache = {}
@staticmethod
def add_cache(key, value):
EnabledModulesCache._cache[key] = value
@staticmethod
def get_cache(key):
return EnabledModulesCache._cache.get(key, False)
class SenderInfoCache:
_cache = {}
@staticmethod
def add_cache(key, value):
SenderInfoCache._cache[key] = value
@staticmethod
def get_cache(key) -> Union[dict, bool]:
return SenderInfoCache._cache.get(key, False)
class TargetInfoCache:
_cache = {}
@staticmethod
def add_cache(key, value):
TargetInfoCache._cache[key] = value
@staticmethod
def get_cache(key) -> Union[dict, bool]:
return TargetInfoCache._cache.get(key, False)
class ExecutionLockList:
_list = set()
@staticmethod
def add(msg: MessageSession):
targetId = msg.target.senderId
ExecutionLockList._list.add(targetId)
@staticmethod
def remove(msg: MessageSession):
targetId = msg.target.senderId
if targetId in ExecutionLockList._list:
ExecutionLockList._list.remove(targetId)
@staticmethod
def check(msg: MessageSession):
targetId = msg.target.senderId
return True if targetId in ExecutionLockList._list else False
@staticmethod
def get():
return ExecutionLockList._list
__all__ = ["EnabledModulesCache", "SenderInfoCache", "ExecutionLockList"]