3.5 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	sidebar_position, description
| sidebar_position | description | 
|---|---|
| 8 | nonebot.utils 模块 | 
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.Union或types.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, return_on_err=None) -> T | None- 
参数
- 
coro(Coroutine[Any, Any, T]) - 
exc(tuple[type[Exception], ...]) - 
return_on_err(None) 
 - 
 - 
返回
- 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
 
 
def resolve_dot_notation(obj_str, default_attr, default_prefix=None)
- 
说明: 解析并导入点分表示法的对象
 - 
参数
- 
obj_str(str) - 
default_attr(str) - 
default_prefix(str | None) 
 - 
 - 
返回
- Any
 
 
class DataclassEncoder(<auto>)
- 
说明: 在 JSON 序列化 Message (List[Dataclass]) 时使用的
JSONEncoder - 
参数
auto
 
method default(o)
- 
参数
o
 - 
返回
- untyped
 
 
def logger_wrapper(logger_name)
- 
说明: 用于打印 adapter 的日志。
 - 
参数
logger_name(str): adapter 的名称
 - 
返回
- 
untyped: 日志记录函数
- level: 日志等级
- message: 日志信息
 - exception: 异常信息
 
 
 - level: 日志等级
 
 -