Home

Awesome

Avalon v1.3.1 GNU Affero General Public License, version 3 GitHub stars GitHub followers

Build Status Build status CircleCI Known Vulnerabilities

中文(简体)

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

List of commands

All commands listed below can be triggered by some particular command as long as has required permission.

:grey_exclamation:: Admin command. Only users specficed as admin in group.json and owner could execute these commands.

:exclamation:: Owner command. Only user specified as owner in group.json could execute these commands.

:white_circle:: Unmanagerable command. These command can not be managed by avalon manager, but can be disabled in config.json.

:red_circle:: Basic command. These command can neither be managed by avalon manager nor disabled in config.json.

NameTrigger commandDescription
Blacklistavalon blacklist (list OR add OR remove):white_circle: :grey_exclamation: List all accounts in blacklist. Add account to blacklist or remove from it.
Echoavalon (ec OR echo)Avalon will repeat the given sentence.
Executeavalon (ex OR execute) <LANGUAGE>{ENTER}<CODE>Execute given code and echo the return or the error message.
ExecuteInfoavalon (exi OR execute info)For info about code executor.
Flushavalon flush:white_circle: :grey_exclamation: Flush caches and delete temp files.
Heartbeatavalon (hb OR heartbeat):white_circle: Test if Avalon still alives.
Helpavalon (hp OR help):red_circle: For help content.
Manageravalon manager (start OR stop) <TRIGGER COMMAND>:white_circle: :grey_exclamation: To start or stop particular command responder.
Quoteavalon quote <SPEAKER> <CONTENT>:grey_exclamation: To quote message into Avalon's database.
Rebootavalon reboot:white_circle: :exclamation: Reboot Avalon.
ShowAdminavalon (wia OR whoisadmin)Show list of all admins.
Shutdownavalon (shutdown OR exit):white_circle: :exclamation: Shutdown Avalon.
Versionavalon (ver OR about):red_circle: Show version and related info.
Wolframavalon (tm OR tell me) <your question>(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.

NameDescription
BuildStatusNotification will be sent when configured CI build state of given project update. TravisCI and AppVeyor now supported.
RSSFeederMessage 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 Open Source Helpers

Notice

  1. Please make sure your editor support EditorConfig!
  2. All class under package group must implements GroupMessageResponder.
  3. Class or method that tagged as @deprecated will removed officially in the next release.
  4. From v0.0.1, the version number will follow Semantic Versioning 2.0.0.

Todo

See Projects / Avalon.

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!

Jetbrains logo