class Log: _log = logger_wrapper('MIRAI') @classmethod def info(cls, message: Any): cls._log('INFO', str(message)) @classmethod def debug(cls, message: Any): cls._log('DEBUG', str(message)) @classmethod def warn(cls, message: Any): cls._log('WARNING', str(message)) @classmethod def error(cls, message: Any, exception: Optional[Exception] = None): cls._log('ERROR', str(message), exception=exception)
from nonebot.typing import Optional from nonebot.utils import logger_wrapper log = logger_wrapper("CQHTTP") def escape(s: str, *, escape_comma: bool = True) -> str: """ :说明: 对字符串进行 CQ 码转义。 :参数: * ``s: str``: 需要转义的字符串 * ``escape_comma: bool``: 是否转义逗号(``,``)。 """ s = s.replace("&", "&") \ .replace("[", "[") \ .replace("]", "]") if escape_comma: s = s.replace(",", ",") return s def unescape(s: str) -> str: """ :说明: 对字符串进行 CQ 码去转义。
def log(level: str, message: str, exception: Optional[Exception] = None): logger = logger_wrapper('MIRAI') message = '<e>' + escape_tag(message) + '</e>' logger(level=level.upper(), message=message, exception=exception)
from nonebot.utils import logger_wrapper log = logger_wrapper("DING")
import base64 import hashlib from Crypto.Cipher import AES from nonebot.utils import logger_wrapper log = logger_wrapper("FEISHU") class AESCipher(object): def __init__(self, key): self.block_size = AES.block_size self.key = hashlib.sha256(AESCipher.str_to_bytes(key)).digest() @staticmethod def str_to_bytes(data): u_type = type(b"".decode('utf8')) if isinstance(data, u_type): return data.encode('utf8') return data @staticmethod def _unpad(s): return s[:-ord(s[len(s) - 1:])] def decrypt(self, enc): iv = enc[:AES.block_size] cipher = AES.new(self.key, AES.MODE_CBC, iv) return self._unpad(cipher.decrypt(enc[AES.block_size:]))
from typing import Optional from nonebot.utils import logger_wrapper log = logger_wrapper("GOCQ") def escape(s: str, *, escape_comma: bool = True) -> str: """ :说明: 对字符串进行 CQ 码转义。 :参数: * ``s: str``: 需要转义的字符串 * ``escape_comma: bool``: 是否转义逗号(``,``)。 """ s = s.replace("&", "&") \ .replace("[", "[") \ .replace("]", "]") if escape_comma: s = s.replace(",", ",") return s def unescape(s: str) -> str: """ :说明: 对字符串进行 CQ 码去转义。