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