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 会被忽略)

  • 参数

    • cls (Any)

    • class_or_tuple (type[Any] | tuple[type[Any], ...])

  • 返回

    • bool

def is_coroutine_callable(call)

  • 说明: 检查 call 是否是一个 callable 协程函数

  • 参数

    • call ((...) -> Any)
  • 返回

    • bool

def is_gen_callable(call)

  • 说明: 检查 call 是否是一个生成器函数

  • 参数

    • call ((...) -> Any)
  • 返回

    • bool

def is_async_gen_callable(call)

  • 说明: 检查 call 是否是一个异步生成器函数

  • 参数

    • call ((...) -> Any)
  • 返回

    • bool

def run_sync(call)

  • 说明: 一个用于包装 sync function 为 async function 的装饰器

  • 参数

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

    • (P) -> Coroutine[None, None, R]

def run_sync_ctx_manager(cm)

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

  • 参数

    • cm (ContextManager[T])
  • 返回

    • AsyncGenerator[T, None]

async def run_coro_with_catch(coro, exc, return_on_err=None)

  • 重载

    1. (coro, exc) -> T | None

    • 参数

      • coro (Coroutine[Any, Any, T])

      • exc (tuple[type[Exception], ...])

    • 返回

      • T | None

    2. (coro, exc, return_on_err) -> T | R

    • 参数

      • coro (Coroutine[Any, Any, T])

      • exc (tuple[type[Exception], ...])

      • return_on_err (R)

    • 返回

      • T | R

def get_name(obj)

  • 说明: 获取对象的名称

  • 参数

    • obj (Any)
  • 返回

    • str

def path_to_module_name(path)

  • 参数

    • path (Path)
  • 返回

    • str

class DataclassEncoder(<auto>)

  • 说明: 在 JSON 序列化 nonebot.adapters._message.Message (List[Dataclass]) 时使用的 JSONEncoder

  • 参数

    auto

method default(o)

  • 参数

    • o
  • 返回

    • untyped

def logger_wrapper(logger_name)

  • 说明: 用于打印 adapter 的日志。

  • 参数

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

    • untyped: 日志记录函数

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