示例#1
0
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)
示例#2
0
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 码去转义。
示例#3
0
 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)
示例#4
0
from nonebot.utils import logger_wrapper

log = logger_wrapper("DING")
示例#5
0
文件: utils.py 项目: SK-415/nonebot2
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:]))
示例#6
0
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("&", "&amp;") \
        .replace("[", "&#91;") \
        .replace("]", "&#93;")
    if escape_comma:
        s = s.replace(",", "&#44;")
    return s


def unescape(s: str) -> str:
    """
    :说明:

      对字符串进行 CQ 码去转义。