Version: Next

nonebot.utils

本模块包含了 NoneBot 的一些工具函数

def escape_tag(s)

  • 说明

    用于记录带颜色日志时转义 <tag> 类型特殊标签

    参考: loguru color 标签

  • 参数

    • s (str): 需要转义的字符串
  • 返回

    • str

def generic_check_issubclass(cls, class_or_tuple)

  • 说明

    检查 cls 是否是 class_or_tuple 中的一个类型子类。

    特别的,如果 cls 是 typing.Uniontypes.UnionType 类型, 则会检查其中的类型是否是 class_or_tuple 中的一个类型子类。(None 会被忽略)

  • 参数

    • class_or_tuple (Type[Any] | tuple[Type[Any], ...])
  • 返回

    • bool

def is_coroutine_callable(call)

  • 说明

    检查 call 是否是一个 callable 协程函数

  • 参数

    • call ((*Any, **Any) -> Any)
  • 返回

    • bool

def is_gen_callable(call)

  • 说明

    检查 call 是否是一个生成器函数

  • 参数

    • call ((*Any, **Any) -> Any)
  • 返回

    • bool

def is_async_gen_callable(call)

  • 说明

    检查 call 是否是一个异步生成器函数

  • 参数

    • call ((*Any, **Any) -> Any)
  • 返回

    • bool

def run_sync(call)

  • 说明

    一个用于包装 sync function 为 async function 的装饰器

  • 参数

    • call (((~ P)) -> (~ R)): 被装饰的同步函数
  • 返回

    • ((~ P)) -> Coroutine[NoneType, NoneType, (~ R)]

def run_sync_ctx_manager(cm)

  • 说明

    一个用于包装 sync context manager 为 async context manager 的执行函数

  • 参数

    • cm (ContextManager[(~ T)])
  • 返回

    • AsyncGenerator[(~ T), NoneType]

def get_name(obj)

  • 说明

    获取对象的名称

  • 参数

    • obj (Any)
  • 返回

    • str

class DataclassEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)

  • 说明

    在 JSON 序列化 {re}nonebot.adapters._message.Message (List[Dataclass]) 时使用的 JSONEncoder

  • 参数

    • skipkeys

    • ensure_ascii

    • check_circular

    • allow_nan

    • sort_keys

    • indent

    • separators

    • default

method default(self, o)

  • 参数

    • o
  • 返回

    • Unknown

def logger_wrapper(logger_name)

  • 说明

    用于打印 adapter 的日志。

  • 参数

    • logger_name (str): adapter 的名称
  • 返回

    • Unknown: 日志记录函数

      • level: 日志等级
      • message: 日志信息
      • exception: 异常信息