• 欢迎来到小可 · Wiki,人人可编辑的,多平台聊天机器人“小可”的官方文档资源。
  • 小可很可爱,请给我们打钱
  • 原 MkDocs 已迁入本站。若发现 404 属正常现象,请点击左上角搜索您想要的模块。

可调用对象列表:修订间差异

来自小可 · Wiki,人人可编辑的,QQ机器人“小可”的官方文档资源
(创建页面,内容为“{{Mbox | text = 此处的列表为简单粗略的整理,具体请见 Github 源码。 | type = info }} 此处整理了一些常用的 API 及其说明。”)
 
 
(未显示同一用户的22个中间版本)
第3行: 第3行:
| type = info
| type = info
}}
}}
  此处 整理了一些常用的 API  及其说明。
  本文 整理了一些常用的 机器人可调用对象,以 及其说明。
 
== 目录 ==
* <code>[[/config|config]]</code>
* <code>[[/core.dirty_check|core.dirty_check]]</code>
* <code>[[/core.exceptions|core.exceptions]]</code>
* <code>[[/core.logger|core.logger]]</code>
* <code>[[/core.petal|core.petal]]</code>
* <code>[[/core.rate_limit|core.rate_limit]]</code>
* <code>[[/core.scheduler|core.scheduler]]</code>
* <code>[[/core.tos|core.tos]]</code>
 
== <code>MessageSession</code> ==
此部分可用于机器人记录消息内容并处理消息。
 
=== <code>MessageSession.target</code> ===
此方法记录了一条消息的详细说明。
<pre>
MsgInfo(target_id=TEST|Console|0, sender_id=TEST|0, sender_name=Console, target_from=TEST|Console, sender_from=TEST, client_name=TEST, message_id=0, reply_id=None)
</pre>
* {{Instructor param||int}}{{Instructor param|target.target_id|str}}:对话 ID
* {{Instructor param||int}}{{Instructor param|target.sender_id|str}}:发送者 ID
* {{Instructor param|target.sender_name|str}}:发送者名称
* {{Instructor param|target.target_from|str}}:对话来源
* {{Instructor param|target.sender_from|str}}:发送者来源
* {{Instructor param|target.client_name|str}}:平台名称
* {{Instructor param||int}}{{Instructor param|target.message_id|str}}:消息 ID
* {{Instructor param||int}}{{Instructor param|target.reply_id|str}}:回复消息 ID
 
=== <code>MessageSession.session</code> ===
此方法记录了一条对话消息。
<pre>
Session(message=~ping, target=TEST|Console|0, sender=TEST|0)
</pre>
* <code>session.message</code>:对话消息
* <code>session.target</code>:对话 ID
* <code>session.sender</code>:发送者 ID
 
=== <code>MessageSession.sent</code> ===
此方法记录了发送的消息链。
* {{Instructor param|sent|list}}:已发送的消息链
 
=== <code>MessageSession.prefixes</code> ===
此方法记录了所有可用的命令前缀,包括配置文件与自定义。默认以列表第 1 个前缀来展示命令。
* {{Instructor param|prefixes|list}}:所有可用命令前缀
 
=== <code>MessageSession.data</code> ===
此方法可以调用机器人数据库。详见[[#BotDBUtil.TargetInfo]]。
 
=== <code>MessageSession.muted</code> ===
此方法可以查看机器人是否被允许发言。
* {{Instructor param|muted|bool}}:是否被允许发言,默认 False(如果为 True,则不会返回消息)
 
=== <code>MessageSession.options</code> ===
此方法可以查看机器人在对话中的所有设置。
* {{Instructor param|options|dict}}:所有设置
 
=== <code>MessageSession.custom_admins</code> ===
此方法可以查看机器人在对话中的所有自定义管理员。
* {{Instructor param|custom_admins|list}}:自定义管理员
 
=== <code>MessageSession.enabled_modules</code> ===
此方法可以查看机器人在对话中的所有已开启模块。
* {{Instructor param|custom_admins|list}}:已开启模块
 
=== <code>MessageSession.locale</code> ===
此方法可以查看机器人在对话中的语言设置。
* {{Instructor param|locale|list}}:语言代码
 
=== <code>MessageSession.name</code> ===
此方法可以查看机器人名称。
* {{Instructor param|name|str}}:带有本地化的机器人名称
 
=== <code>MessageSession.petal</code> ===
此方法可以查看机器人在对话中的花瓣数量。
* {{Instructor param|petal|int}}:花瓣数量
 
=== <code>MessageSession.timestamp</code> ===
此方法可以查看本地服务器的时间戳。
* <code>timestamp</code>:时间戳,使用 datetime 类型
 
=== <code>MessageSession.tmp</code> ===
此方法用于储存一些临时内容,一般不调用。
* {{Instructor param|tmp|dict}}:所有临时内容
 
=== <code>MessageSession.timezone_offset</code> ===
此方法可以查看机器人在对话中的时间偏移值。
* <code>timezone_offset</code>:时间偏移值,使用 timedelta 类型
 
=== <code>MessageSession.send_message</code> ===
别名:<code>MessageSession.sendMessage</code>
<syntaxhighlight lang="py3">
async def wait_confirm(self, message_chain, quote=True, disable_secret_check=False, allow_split_image=True, callback=None):
</syntaxhighlight>
此异步方法用于向发送者返回消息。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|disable_secret_check|bool}}:是否禁用消息检查,默认 False
* {{Instructor param|allow_split_image|bool}}:是否允许拆分图片发送,默认 True
* <code>callback</code>:回调方法,用于在消息发送完成后回复本消息执行的方法
* 返回:被发送的消息链
 
=== <code>MessageSession.finish</code> ===
<syntaxhighlight lang="py3">
async def finish(self, message_chain, quote=True, disable_secret_check=False, allow_split_image=True, callback=None):
</syntaxhighlight>
此异步方法用于向发送者返回消息并终结此次会话。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|disable_secret_check|bool}}:是否禁用消息检查,默认 False
* {{Instructor param|allow_split_image|bool}}:是否允许拆分图片发送,默认 True
* <code>callback</code>:回调方法,用于在消息发送完成后回复本消息执行的方法
* 返回:被发送的消息链
 
=== <code>MessageSession.direct_message</code> ===
别名:<code>MessageSession.sendDirectMessage</code>
<syntaxhighlight lang="py3">
async def send_direct_message(self, message_chain, quote=True, disable_secret_check=False, allow_split_image=True, callback=None):
</syntaxhighlight>
此异步方法用于向发送者直接发送消息。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|disable_secret_check|bool}}:是否禁用消息检查,默认 False
* {{Instructor param|allow_split_image|bool}}:是否允许拆分图片发送,默认 True
* <code>callback</code>:回调方法,用于在消息发送完成后回复本消息执行的方法
* 返回:被发送的消息链
 
=== <code>MessageSession.wait_confirm</code> ===
别名:<code>MessageSession.WaitConfirm</code>
<syntaxhighlight lang="py3">
async def wait_confirm(self, message_chain=None, quote=True, delete=True, timeout=120, append_instruction=True):
</syntaxhighlight>
此异步方法用于等待发送者确认。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|delete|bool}}:是否在触发后删除消息,默认 True
* {{Instructor param|timeout|int}}:超时时间,超时后抛出 <code>WaitCancelException</code> 异常,若为 None 则禁用超时,默认 120
* {{Instructor param|append_instruction|bool}}:是否显示提示语,默认 True
* 返回:若对象发送 <code>confirm_command</code> 中的其一文本时返回 True,反之则返回 False
 
=== <code>MessageSession.wait_next_message</code> ===
别名:<code>MessageSession.waitNextMessage</code>
<syntaxhighlight lang="py3">
async def wait_next_message(self, message_chain=None, quote=True, delete=False, timeout=120, append_instruction=True):
</syntaxhighlight>
此异步方法用于等待发送者的下一条消息。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|delete|bool}}:是否在触发后删除消息,默认 False
* {{Instructor param|timeout|int}}:超时时间,超时后抛出 <code>WaitCancelException</code> 异常,若为 None 则禁用超时,默认 120
* {{Instructor param|append_instruction|bool}}:是否显示提示语,默认 True
* 返回:下一条消息的消息链
 
=== <code>MessageSession.wait_reply</code> ===
别名:<code>MessageSession.waitReply</code>
<syntaxhighlight lang="py3">
async def wait_reply(self, message_chain=None, quote=True, delete=False, timeout=120, all_=False, append_instruction=True):
</syntaxhighlight>
此异步方法用于等待发送者回复消息。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|delete|bool}}:是否在触发后删除消息,默认 False
* {{Instructor param|timeout|int}}:超时时间,超时后抛出 <code>WaitCancelException</code> 异常,若为 None 则禁用超时,默认 120
* {{Instructor param|all_|bool}}:是否将触发条件设置为对话内所有人有效,默认 False
* {{Instructor param|append_instruction|bool}}:是否显示提示语,默认 True
* 返回:回复消息的消息链
 
=== <code>MessageSession.wait_anyone</code> ===
别名:<code>MessageSession.waitAnyone</code>
<syntaxhighlight lang="py3">
async def wait_anyone(self, message_chain=None, quote=True, delete=False, timeout=120):
</syntaxhighlight>
此异步方法用于等待发送者所在对话的任意成员确认。
* <code>message_chain</code>:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
* {{Instructor param|quote|bool}}:是否引用原消息,默认 True
* {{Instructor param|delete|bool}}:是否在触发后删除消息,默认 False
* {{Instructor param|timeout|int}}:超时时间,超时后抛出 <code>WaitCancelException</code> 异常,若为 None 则禁用超时,默认 120
* 返回:任意成员的下一条消息的消息链
 
=== <code>MessageSession.as_display</code> ===
别名:<code>MessageSession.asDisplay</code>
<syntaxhighlight lang="py3">
def as_display(self, text_only=False):
</syntaxhighlight>
此方法用于将对话消息转换为字符串。
* {{Instructor param|text_only|bool}}:是否只保留纯文本,默认 False
* 返回:字符串形式的消息
 
=== <code>MessageSession.to_message_chain</code> ===
别名:<code>MessageSession.toMessageChain</code>
<syntaxhighlight lang="py3">
def to_message_chain(self):
</syntaxhighlight>
此方法用于将对话消息转换为消息链。
* 返回:消息链
 
=== <code>MessageSession.delete</code> ===
<syntaxhighlight lang="py3">
def to_message_chain(self):
</syntaxhighlight>
此方法用于删除对话消息。
* 返回:若删除成功返回 True,反之则返回 False
 
=== <code>MessageSession.check_permission</code> ===
别名:<code>MessageSession.checkPermission</code>
<syntaxhighlight lang="py3">
def check_permission(self):
</syntaxhighlight>
此方法用于检查发送者在对话内的机器人管理员权限。
* 返回:若符合返回 True,反之则返回 False
 
=== <code>MessageSession.check_native_permission</code> ===
别名:<code>MessageSession.checkNativePermission</code>
<syntaxhighlight lang="py3">
def check_native_permission(self):
</syntaxhighlight>
此方法用于检查发送者在平台的管理员权限。
* 返回:若符合返回 True,反之则返回 False
 
=== <code>MessageSession.fake_forward_msg</code> ===
<syntaxhighlight lang="py3">
def fake_forward_msg(self, nodelist):
</syntaxhighlight>
此方法用于在 QQ 平台发送假转发消息。
* {{Instructor param|nodelist|list}}:转发消息节点
* 返回:转发消息
 
=== <code>MessageSession.get_text_channel_list</code> ===
<syntaxhighlight lang="py3">
def fake_forward_msg(self, nodelist):
</syntaxhighlight>
此方法用于在 QQ 平台获取子文字频道列表。
* 返回:子文字频道列表
 
=== <code>MessageSession.ts2strftime</code> ===
<syntaxhighlight lang="py3">
def ts2strftime(self, timestamp, date=True, iso=False, time=True, seconds=True, timezone=True):
</syntaxhighlight>
此方法用于将时间戳转换为可读的时间格式。
* {{Instructor param|timestamp|float}}:UTC 时间戳
* {{Instructor param|date|bool}}:是否显示日期,默认 True
* {{Instructor param|iso|bool}}:是否以 ISO 格式显示,默认 False
* {{Instructor param|time|bool}}:是否显示时间,默认 True
* {{Instructor param|time|bool}}:是否显示秒,默认 True
* {{Instructor param|timezone|bool}}:是否显示时间偏移值,默认 True
* 返回:格式化的时间字符串
 
=== <code>MessageSession.check_super_user</code> ===
别名:<code>MessageSession.checkSuperUser</code>
<syntaxhighlight lang="py3">
def check_super_user(self):
</syntaxhighlight>
此方法用于检查发送者的超级用户权限。
* 返回:若符合返回 True,反之则返回 False
 
=== <code>MessageSession.sleep</code> ===
<syntaxhighlight lang="py3">
async def sleep(s):
</syntaxhighlight>
此异步方法用于让程序暂时休眠。
* {{Instructor param|s|float}}:休眠时间
 
=== <code>MessageSession.call_api</code> ===
<syntaxhighlight lang="py3">
async def call_api(self, action, **params):
</syntaxhighlight>
此异步方法用于呼叫框架 API。
* {{Instructor param|action|str}}:API 动作
 
{{Navbox dev}}

2024年9月19日 (四) 03:07的最新版本

注意
此处的列表为简单粗略的整理,具体请见 Github 源码。

本文整理了一些常用的机器人可调用对象,以及其说明。

目录

MessageSession

此部分可用于机器人记录消息内容并处理消息。

MessageSession.target

此方法记录了一条消息的详细说明。

MsgInfo(target_id=TEST|Console|0, sender_id=TEST|0, sender_name=Console, target_from=TEST|Console, sender_from=TEST, client_name=TEST, message_id=0, reply_id=None)
  • 整数 字符串 target.target_id:对话 ID
  • 整数 字符串 target.sender_id:发送者 ID
  • 字符串 target.sender_name:发送者名称
  • 字符串 target.target_from:对话来源
  • 字符串 target.sender_from:发送者来源
  • 字符串 target.client_name:平台名称
  • 整数 字符串 target.message_id:消息 ID
  • 整数 字符串 target.reply_id:回复消息 ID

MessageSession.session

此方法记录了一条对话消息。

Session(message=~ping, target=TEST|Console|0, sender=TEST|0)
  • session.message:对话消息
  • session.target:对话 ID
  • session.sender:发送者 ID

MessageSession.sent

此方法记录了发送的消息链。

  • 列表 sent:已发送的消息链

MessageSession.prefixes

此方法记录了所有可用的命令前缀,包括配置文件与自定义。默认以列表第 1 个前缀来展示命令。

  • 列表 prefixes:所有可用命令前缀

MessageSession.data

此方法可以调用机器人数据库。详见#BotDBUtil.TargetInfo

MessageSession.muted

此方法可以查看机器人是否被允许发言。

  • 布尔值 muted:是否被允许发言,默认 False(如果为 True,则不会返回消息)

MessageSession.options

此方法可以查看机器人在对话中的所有设置。

  • 字典 options:所有设置

MessageSession.custom_admins

此方法可以查看机器人在对话中的所有自定义管理员。

  • 列表 custom_admins:自定义管理员

MessageSession.enabled_modules

此方法可以查看机器人在对话中的所有已开启模块。

  • 列表 custom_admins:已开启模块

MessageSession.locale

此方法可以查看机器人在对话中的语言设置。

  • 列表 locale:语言代码

MessageSession.name

此方法可以查看机器人名称。

  • 字符串 name:带有本地化的机器人名称

MessageSession.petal

此方法可以查看机器人在对话中的花瓣数量。

  • 整数 petal:花瓣数量

MessageSession.timestamp

此方法可以查看本地服务器的时间戳。

  • timestamp:时间戳,使用 datetime 类型

MessageSession.tmp

此方法用于储存一些临时内容,一般不调用。

  • 字典 tmp:所有临时内容

MessageSession.timezone_offset

此方法可以查看机器人在对话中的时间偏移值。

  • timezone_offset:时间偏移值,使用 timedelta 类型

MessageSession.send_message

别名:MessageSession.sendMessage

async def wait_confirm(self, message_chain, quote=True, disable_secret_check=False, allow_split_image=True, callback=None):

此异步方法用于向发送者返回消息。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 disable_secret_check:是否禁用消息检查,默认 False
  • 布尔值 allow_split_image:是否允许拆分图片发送,默认 True
  • callback:回调方法,用于在消息发送完成后回复本消息执行的方法
  • 返回:被发送的消息链

MessageSession.finish

async def finish(self, message_chain, quote=True, disable_secret_check=False, allow_split_image=True, callback=None):

此异步方法用于向发送者返回消息并终结此次会话。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 disable_secret_check:是否禁用消息检查,默认 False
  • 布尔值 allow_split_image:是否允许拆分图片发送,默认 True
  • callback:回调方法,用于在消息发送完成后回复本消息执行的方法
  • 返回:被发送的消息链

MessageSession.direct_message

别名:MessageSession.sendDirectMessage

async def send_direct_message(self, message_chain, quote=True, disable_secret_check=False, allow_split_image=True, callback=None):

此异步方法用于向发送者直接发送消息。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 disable_secret_check:是否禁用消息检查,默认 False
  • 布尔值 allow_split_image:是否允许拆分图片发送,默认 True
  • callback:回调方法,用于在消息发送完成后回复本消息执行的方法
  • 返回:被发送的消息链

MessageSession.wait_confirm

别名:MessageSession.WaitConfirm

async def wait_confirm(self, message_chain=None, quote=True, delete=True, timeout=120, append_instruction=True):

此异步方法用于等待发送者确认。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 delete:是否在触发后删除消息,默认 True
  • 整数 timeout:超时时间,超时后抛出 WaitCancelException 异常,若为 None 则禁用超时,默认 120
  • 布尔值 append_instruction:是否显示提示语,默认 True
  • 返回:若对象发送 confirm_command 中的其一文本时返回 True,反之则返回 False

MessageSession.wait_next_message

别名:MessageSession.waitNextMessage

async def wait_next_message(self, message_chain=None, quote=True, delete=False, timeout=120, append_instruction=True):

此异步方法用于等待发送者的下一条消息。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 delete:是否在触发后删除消息,默认 False
  • 整数 timeout:超时时间,超时后抛出 WaitCancelException 异常,若为 None 则禁用超时,默认 120
  • 布尔值 append_instruction:是否显示提示语,默认 True
  • 返回:下一条消息的消息链

MessageSession.wait_reply

别名:MessageSession.waitReply

async def wait_reply(self, message_chain=None, quote=True, delete=False, timeout=120, all_=False, append_instruction=True):

此异步方法用于等待发送者回复消息。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 delete:是否在触发后删除消息,默认 False
  • 整数 timeout:超时时间,超时后抛出 WaitCancelException 异常,若为 None 则禁用超时,默认 120
  • 布尔值 all_:是否将触发条件设置为对话内所有人有效,默认 False
  • 布尔值 append_instruction:是否显示提示语,默认 True
  • 返回:回复消息的消息链

MessageSession.wait_anyone

别名:MessageSession.waitAnyone

async def wait_anyone(self, message_chain=None, quote=True, delete=False, timeout=120):

此异步方法用于等待发送者所在对话的任意成员确认。

  • message_chain:消息链,若传入字符串则自动创建一条带有 Plain 元素的消息链,可留空
  • 布尔值 quote:是否引用原消息,默认 True
  • 布尔值 delete:是否在触发后删除消息,默认 False
  • 整数 timeout:超时时间,超时后抛出 WaitCancelException 异常,若为 None 则禁用超时,默认 120
  • 返回:任意成员的下一条消息的消息链

MessageSession.as_display

别名:MessageSession.asDisplay

def as_display(self, text_only=False):

此方法用于将对话消息转换为字符串。

  • 布尔值 text_only:是否只保留纯文本,默认 False
  • 返回:字符串形式的消息

MessageSession.to_message_chain

别名:MessageSession.toMessageChain

def to_message_chain(self):

此方法用于将对话消息转换为消息链。

  • 返回:消息链

MessageSession.delete

def to_message_chain(self):

此方法用于删除对话消息。

  • 返回:若删除成功返回 True,反之则返回 False

MessageSession.check_permission

别名:MessageSession.checkPermission

def check_permission(self):

此方法用于检查发送者在对话内的机器人管理员权限。

  • 返回:若符合返回 True,反之则返回 False

MessageSession.check_native_permission

别名:MessageSession.checkNativePermission

def check_native_permission(self):

此方法用于检查发送者在平台的管理员权限。

  • 返回:若符合返回 True,反之则返回 False

MessageSession.fake_forward_msg

def fake_forward_msg(self, nodelist):

此方法用于在 QQ 平台发送假转发消息。

  • 列表 nodelist:转发消息节点
  • 返回:转发消息

MessageSession.get_text_channel_list

def fake_forward_msg(self, nodelist):

此方法用于在 QQ 平台获取子文字频道列表。

  • 返回:子文字频道列表

MessageSession.ts2strftime

def ts2strftime(self, timestamp, date=True, iso=False, time=True, seconds=True, timezone=True):

此方法用于将时间戳转换为可读的时间格式。

  • 浮点数 timestamp:UTC 时间戳
  • 布尔值 date:是否显示日期,默认 True
  • 布尔值 iso:是否以 ISO 格式显示,默认 False
  • 布尔值 time:是否显示时间,默认 True
  • 布尔值 time:是否显示秒,默认 True
  • 布尔值 timezone:是否显示时间偏移值,默认 True
  • 返回:格式化的时间字符串

MessageSession.check_super_user

别名:MessageSession.checkSuperUser

def check_super_user(self):

此方法用于检查发送者的超级用户权限。

  • 返回:若符合返回 True,反之则返回 False

MessageSession.sleep

async def sleep(s):

此异步方法用于让程序暂时休眠。

  • 浮点数 s:休眠时间

MessageSession.call_api

async def call_api(self, action, **params):

此异步方法用于呼叫框架 API。

  • 字符串 action:API 动作
Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。