消息队列 & 消息发送器
# 消息队列
消息队列用于控制机器人每条消息的发送速度,避免同一时刻大量消息发送导致的风控。
我们建议您使用消息队列来发送消息,这样可以避免可能的风控。
当然,如果有一些及时性要求很高的地方,也可以不使用消息队列。
# 消息发送器
消息发送器对消息链进行了部分封装,并提供了两种发送方式。
# 引入
from app.util.graia import message
# 参数
与创建消息链的参数一致,也可接受消息链。
# 指定消息发送对象
message(...).target(<发送对象>)
# 指定回复消息元素
message(...).quote(<回复消息元素>)
# 添加 AT 对象
往消息头部添加一个或多个 AT 对象(你也可以直接在参数中添加)
message(...).at(<AT 对象>)
# 扩展消息链
message(...).extend(<扩展内容>)
# 访问原始消息链
可通过源消息链进行更多关于消息链的操作
message(...).content
# 发送消息
提供直接发送和队列发送两种方式发送消息
# 使用消息队列发送
注意
调用该方法后,该消息实例不应再进行修改等操作,否则可能会修改队列中同样实例的消息内容
messsage(...).send()
# 直接发送
注意
该方法为异步请求
await message(...).immediately_send()
# 示例
from app.util.graia import message, Group, Member, Source
...
def hello(group: Group, member: Member, source: Source):
message("你好,我是 Madoka").target(group).at(group).quote(source).send()
上次更新: 2022/11/22, 00:08:13