nonebot.helpers
def context_id(event, *, mode='default', use_hash=False)
说明
获取事件对应的上下文的唯一 ID。
参数
event(aiocqhttp.event.Event): 事件对象mode(str): ID 的计算模式'default': 默认模式,任何一个上下文都有其唯一 ID'group': 群组模式,同一个群组或讨论组的上下文(即使是不同用户)具有相同 ID'user': 用户模式,同一个用户的上下文(即使在不同群组)具有相同 ID
use_hash(bool): 是否将计算出的 ID 使用 MD5 进行哈希
返回
- str: 事件对应的上下文的唯一 ID
用法
ctx_id = context_id(session.event, use_hash=True)1获取当前 Session 的事件对应的上下文的唯一 ID,并进行 MD5 哈希,得到的结果可用于图灵机器人等 API 的调用。
async def send(bot, event, message, *, ensure_private=False, ignore_failure=True, **kwargs)
说明
发送消息到指定事件的上下文中。
参数
返回
- Any 1.1.0+: 返回 CQHTTP 插件发送消息接口的调用返回值,具体见 aiocqhttp 的 API 调用 (opens new window)
异常
CQHttpError: 发送失败时抛出,实际由 [aiocqhttp] 抛出,等价于aiocqhttp.Error
用法
await send(bot, event, 'hello')1
async def send_to_superusers(bot, message, **kwargs) 1.7.0+
说明
发送私聊消息到全体超级用户(即配置下的
SUPERUSERS)。参数
返回
- None
异常
CQHttpError: 发送失败时抛出,实际由 [aiocqhttp] 抛出,等价于aiocqhttp.Error
用法
await send_to_superusers(bot, f'被群 {event.group_id} 踢出了')1
def render_expression(expr, *args, escape_args=True, **kwargs)
说明
渲染 Expression。
参数
expr(Expression_T): 要渲染的 Expression,对于 Expression 的三种类型:str、Sequence[str]、(*Any, **Any) -> str,行为分别是str: 以*args、**kwargs为参数,使用str.format()进行格式化Sequence[str]: 随机选择其中之一,进行上面str的操作(*Any, **Any) -> str: 以*args、**kwargs为参数,调用该可调用对象/函数,对返回的字符串进行上面str的操作
*args: 渲染参数escape_args(bool): 是否对渲染参数进行转义**kwargs: 渲染参数
返回
- str: 渲染出的消息字符串
用法
msg1 = render_expression( ['你好,{username}!', '欢迎,{username}~'], username=username ) msg2 = render_expression('你所查询的城市是{}', city)1
2
3
4
5