Skip to content

AyakaApp

首先,你需要导入并初始化一个AyakaApp对象

from ayaka import AyakaApp

app = AyakaApp("测试一下")

bot、event、message

御 三 家

名称 类型 功能
app.bot Bot 当前机器人
app.event MessageEvent 当前消息事件
app.message Message 当前消息

cmd、arg、args

二 代 御 三 家

名称 类型 功能
app.cmd str 本次响应是针对哪个命令
app.arg Message 删除了命令后剩下的消息部分
app.args List[MessageSegment] 删除命令后,依照分隔符分割,并移除空数据
"user" 说:#得到的 水电费 来看看 "sys" 说:app.cmd = "得到的" "sys" 说:app.arg = "水电费 来看看" "sys" 说:app.args = ["水电费","来看看"]

user_name、user_id、group_id

懒 人 三 件 套

名称 类型 功能
app.group_id int 当前群聊的群号
app.user_id int 当前消息的发送者的qq号
app.user_name str 当前消息的发送者的群名片或昵称(优先为群名片)

start、close、send、send_many

四 大 天 王

都是异步方法

名称 功能
app.start 运行应用
app.close 关闭应用
app.send 发送消息
app.send_many 发送合并转发消息

特别的,start可以设置参数,令app运行后进入指定状态

set_start_cmds

设置启动应用的命令

state、get_state

详见AyakaState

set_state、goto、back

状态转移方法,也都是异步方法

名称 功能
app.set_state 令当前群组的状态变为指定的另一状态
app.goto 与app.set_state一样
app.back 令当前群组的状态变为其当前状态的父状态

on_xxx 注册回调

名称 功能
app.on_cmd 注册为命令回调,参数表可以写多个命令
app.on_text 注册为消息回调
app.on_state 注册在指定状态下,参数表可以写多个状态
app.on_idle 注册在闲置状态下
app.on_deep_all 声明该回调对所有子状态生效
app.on_no_block 设置该回调触发后不阻断上溯查找

add_listener、remove_listener

名称 功能
app.add_listener 为该群组添加对私聊的监听
app.remove_listener 移除该群组对私聊的监听

其他

名称 类型 功能
app.name str 应用名称
app.bot_id int 当前机器人的qq号
app.group AyakaGroup 当前群组
app.cache Dict[str,AyakaCache] 为当前群组当前应用提供的独立缓存数据空间

下一步

在这里~ ↘