(创建页面,内容为“{{Mbox | text = 此处的列表为简单粗略的整理,具体请见 Github 源码。 | type = info }} 此处整理了一些常用的 API 及其说明。”) |
(→目录) |
||
(未显示同一用户的22个中间版本) | |||
第3行: | 第3行: | ||
| type = info | | type = info | ||
}} | }} | ||
本文 整理了一些常用的 机器人可调用对象,以 及其说明。 | |||
== 目录 == | |||
* <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的最新版本
本文整理了一些常用的机器人可调用对象,以及其说明。
目录
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
:对话 IDsession.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 动作
开发 | ||
---|---|---|
部署 | ||
使用 | ||
技术性 |