Avalon v1.3.1
Avalon is a scalable multi-function group robot for QQ and Discord.
The support for QQ is based on CoolQ-HTTP-API, and the support for Discord is based on JDA. The connection with Microsoft XiaoIce is based on Mojo-Weixin (may not works except in China).
Functions
Note: Because Avalon is designed for QQ (an IM most of which users are Chinese) initially, and therefore some commands and functions are only available in nations and areas using Chinese.
Introduction
Natural language question answering: Avalon has been docked to Wolfram Alpha in order to provide natural language question answering service. You could use it by command avalon tell me.
Message record and quote: If configured correctly, Avalon will record every message in group(s) into a database. You can also quote message into database annually by command avalon quote.
Build status notification: When the build status for specified project(s) update, Avalon will send notification.
Execute code online: Avalon allows you to execute a piece of code by command avalon execute. 35+ programming languages supported, include Java, Rust, Ruby, JavaScript, Kotlin, C++, and so on. (served by glot.io)
Notification sent when RSS update: After enable RSS function and specified the URL(s), Avalon will send notification when these RSS update.
Scalable: Avalon allows you to add new function or feature by MessageHook or Plugin.
(Unavailable except in Chinese nations or areas) Smart reply: Avalon has been docked to Microsoft XiaoIce to privide smart reply service (just like chat bot), you could use it by command avalon answer me.
Unavailable except in Chinese nations or areas) Hitokoto: Avalon has been docked to 一言 to provide "hitokoto". You could config Avalon to send one when started or use command avalon hitokoto to get one.
...
List of commands
All commands listed below can be triggered by some particular command as long as has required permission.
❕: Admin command. Only users specficed as admin in group.json and owner could execute these commands.
❗: Owner command. Only user specified as owner in group.json could execute these commands.
⚪: Unmanagerable command. These command can not be managed by avalon manager, but can be disabled in config.json.
🔴: Basic command. These command can neither be managed by avalon manager nor disabled in config.json.
Name
Trigger command
Description
Blacklist
avalon blacklist (list OR add OR remove)
⚪
❕ List all accounts in blacklist. Add account to blacklist or remove from it.
Echo
avalon (ec OR echo)
Avalon will repeat the given sentence.
Execute
avalon (ex OR execute) {ENTER}
Execute given code and echo the return or the error message.
ExecuteInfo
avalon (exi OR execute info)
For info about code executor.
Flush
avalon flush
⚪
❕ Flush caches and delete temp files.
Heartbeat
avalon (hb OR heartbeat)
⚪ Test if Avalon still alives.
Help
avalon (hp OR help)
🔴 For help content.
Manager
avalon manager (start OR stop)
⚪
❕ To start or stop particular command responder.
Quote
avalon quote
❕ To quote message into Avalon's database.
Reboot
avalon reboot
⚪
❗ Reboot Avalon.
ShowAdmin
avalon (wia OR whoisadmin)
Show list of all admins.
Shutdown
avalon (shutdown OR exit)
⚪
❗ Shutdown Avalon.
Version
avalon (ver OR about)
🔴 Show version and related info.
Wolfram
avalon (tm OR tell me)
(Only English) Send your question to Wolfram Alpha and echo the return.
Some commands only available in particular version of Avalon. For more details, see RELEASE Notes for every RELEASE.
List of extension
All following extension are push-type, they will sent message automatically when state change detected and therefore can not be triggered by command statements.
Name
Description
BuildStatus
Notification will be sent when configured CI build state of given project update. TravisCI and AppVeyor now supported.
RSSFeeder
Message will sent when configured for RSS update.
If you want Avalon to have some new functions, welcome new issue.
Commands and extensions not work except in Chinese nations or areas may not listed. For info about these commands and extensions, see Chinese (Simplified) version of README file.
Coversation log
// TODO
Contribute
Notice
Please make sure your editor support EditorConfig!
All class under package group must implements GroupMessageResponder.
Class or method that tagged as @deprecated will removed officially in the next release.
From v0.0.1, the version number will follow Semantic Versioning 2.0.0.
Todo
Configuration
See Avalon.wiki. (Only Chinese (Simplified) version provided yet ;-) )
Acknowledgement
This project is developed with IntelliJ IDEA Ultimate and the subscription is obtained freely from Jetbrains Open Source Support Program. Thanks to Jetbrains!