测试ayaka衍生插件¶
ayaka_test模拟了一个不需要连接真实qq账号的假cqhttp
目前的假cqhttp只提供了
- send_msg
- send_group_msg
- send_group_forward_msg
- send_private_msg
- get_group_member_list
- get_friend_list
- ...
其他功能可以自行编写代码对ayaka_test进行增强!
已给出两个钩子函数供拓展使用
安装¶
pip install nonebot_plugin_ayaka_test
修改bot.py
# 其他加载插件的代码
# some code ....
# some code ....
nonebot.load_plugin("ayaka_test")
配置(可选,推荐)¶
你可以设置.env.prod
或.env.dev
中的LOG_LEVEL=27
从而获得纯净的debug日志
通用命令¶
命令 | 功能 |
---|---|
g <group_id> <user_id> <text> |
伪造一条群聊消息 |
p <user_id> <text> |
伪造一条私聊消息 |
d 0.1 | 延时0.1秒后空一行 |
s test | 执行script/test.ini自动化脚本 |
自动化脚本¶
额外命令¶
命令 | 功能 |
---|---|
after <cmd> |
每一条命令执行后需额外执行的命令 |
# | 注释(必须放在每一行的开头) |
脚本示例¶
# 用于区分不同对话段(所有自动化脚本默认具有此条效果,无需专门书写)
# after d 0.1
# 你可以使用如下语句关闭默认效果
# after
# 开始测试
g 100 1 星际旅行
g 100 1 move 月球
g 100 1 hi
实现效果
"user" 说:星际旅行
"Bot" 说:[星际旅行]
xing ji lv xing
- 星际旅行/travel 启动盒子
[*]
- 退出/exit 关闭盒子
- move 移动
- watch/看表演 看表演
[地球]
- hi 打招呼
- drink 喝水
[月球]
- hi 打招呼
- drink 喝水
[太阳]
- hi 打招呼
- drink 喝太阳风
[售票处]
- buy/买票 买门票
[火星]
- 任意文字 令人震惊的事实
[沙城]
- pick 捡金子
- change 修改捡金子配置
"user" 说:move 月球
"Bot" 说:前往 月球
"user" 说:hi
"Bot" 说:你好,月球!
如何增强ayaka_test¶
虽然名义上是ayaka衍生插件的测试套件,然而其与ayaka没多少关系,可以直接拿去当nonebot插件的测试套件
不过,由于只模仿了几条功能,因此更多的还是适用于文字游戏插件的测试
在ayaka_test中,分别给出了两个钩子函数
fake_cq.on_cmd
编写自定义的终端命令fake_cq.on_api
编写自定义的假cqhttp的api
通过它们为假cqhttp拓展更多功能吧
win10 fastapi reload卡死问题¶
测试套件可能会在特定情况下卡死,无法结束进程,从而占用测试端口
win10可尝试运行from ayaka_test import clean_port; clean_port()
清理卡死的进程
仓库¶
下一步¶
在这里~ ↘