Avalon是一个多功能、可扩展的群机器人,支持QQ和Discord。
对QQ的支持基于CoolQ-HTTP-API。对Discord的支持基于JDA。与微软小冰的对接基于Mojo-Weixin。
- 自然语言问答: Avalon已对接Wolfram Alpha提供“自然语言问答”服务。您可以通过指令
avalon tell me
使用它 - 每日一句: Avalon已对接一言提供“每日一句”服务。您可以配置Avalon每次启动时推送“每日一句”或使用指令
avalon hitokoto
- 智能回复: Avalon已通过Mojo-Weixin对接微软小冰提供智能回复功能,您可以通过
avalon answer me
指令使用它 - 代码片段执行: Avalon允许您使用
avalon execute
指令在线执行代码 - RSS订阅推送: 当您在Avalon的配置文件中设置RSS插件为启用状态并添加订阅源后,Avalon将自动推送订阅源的更新
- 扩展功能: Avalon允许通过MessageHook、插件及源代码修改方式自行扩展
- ...
以下列出的指令均可在Avalon中使用特定语句触发,只要用户具有要求的权限。
❕:管理员权限指令。只有在group.json
中被指定为管理员或拥有对应权限组权限的用户才可执行。
❗:所有者权限指令。只有在group.json
中被指定为所有者的用户才可执行。
⚪:不可管理指令。被保护的指令不可使用Manager指令管理,但可以在config.json
配置文件中禁用。
🔴:基础指令。这些指令不可使用Manager指令关闭,也不可在config.json
配置文件中禁用。
名称 | 触发语句 | 功能描述 |
---|---|---|
AnswerMe | avalon answer me |
使用微软小冰提供的智能回复 |
Blacklist | avalon blacklist (list OR add OR remove) |
⚪ ❕ 查看黑名单;将指定的帐号添加至黑名单或从黑名单移除 |
Echo | avalon (echo OR repeat |
让阿瓦隆重复给定语句 |
Execute | avalon (ex OR execute) <语言>{换行}<代码> |
执行给定代码并回显输出 |
ExecuteInfo | avalon(exi OR execute info) |
输出代码执行器信息 |
Flush | avalon flush |
⚪ ❕ 刷新缓存并清除临时文件 |
Heartbeat | avalon (hb OR heartbeat) |
Avalon存活检测 |
Help | avalon (hp OR help) |
🔴 显示帮助文本 |
Hitokoto | avalon (hitokoto OR 一言) |
获取一条一言 |
Manager | avalon manager (start OR stop) <指令响应器触发语句> |
⚪ ❕ 打开或关闭指定的指令响应器 |
Mo | - - |
随机触发膜*语句 |
Quote | avalon quote <发言者> <语录内容> |
❕ 记录语录到Avalon数据库。 |
Reboot | avalon reboot |
⚪ ❗ 重启Avalon |
ShowAdmin | avalon (wia OR whoisadmin) |
显示管理员列表 |
Shutdown | avalon (shutdown OR exit) |
⚪ ❗ 退出Avalon |
Version | avalon (ver OR about) |
🔴 显示版本及相关信息 |
Wolfram | avalon (tm OR tell me) <your question> |
(Only English) Send your question to Wolfram Alpha and echo the return. |
部分指令仅对某个版本号以上的Avalon有效。具体请见各 RELEASE的RELEASE Notes。
以下扩展功能均为推送型任务,监测到状态更新会自动推送,不能使用语句触发。
名称 | 功能描述 |
---|---|
BuildStatus | 推送指定项目CI的构建状态。现支持TravisCI和AppVeyor |
RSSFeeder | 推送指定RSS的更新 |
ShowMsg | 每日推送“历史上的今天”(如果有) |
若有希望增加的功能,欢迎提出issue。
- 请确保您的编辑器支持EditorConfig!
- 所有
group
目录下的类必须implements GroupMessageResponder
(FriendMessage
API已有开发计划,请见avalon.friend
包); - 标记为
@deprecated
的类/方法将于下一RELEASE中被正式移除。 - 从
v0.0.1
开始,RELEASE版本号的管理将遵循语义化版本 2.0.0规范。
请见Avalon.wiki。
本项目使用 IntelliJ IDEA Ultimate 开发,且许可由 Jetbrains 开源支持计划 免费提供。感谢 Jetbrains 对开源软件的支持!