{"id":13990187,"url":"https://github.com/Ray-Eldath/Avalon","last_synced_at":"2025-07-22T12:31:05.213Z","repository":{"id":95486452,"uuid":"80298423","full_name":"Ray-Eldath/Avalon","owner":"Ray-Eldath","description":":robot: A scalable multi-function group robot for QQ and Discord. 多功能、可扩展的群机器人，支持QQ和Discord。","archived":true,"fork":false,"pushed_at":"2019-07-02T10:41:20.000Z","size":2440,"stargazers_count":92,"open_issues_count":0,"forks_count":17,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-11-29T09:40:12.494Z","etag":null,"topics":["coolq","coolq-http-api","discord-bot","java","kotlin","qq-group-robot","robot"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ray-Eldath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-28T17:24:54.000Z","updated_at":"2024-11-22T06:30:35.000Z","dependencies_parsed_at":"2023-03-13T16:49:11.185Z","dependency_job_id":null,"html_url":"https://github.com/Ray-Eldath/Avalon","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Ray-Eldath/Avalon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ray-Eldath%2FAvalon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ray-Eldath%2FAvalon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ray-Eldath%2FAvalon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ray-Eldath%2FAvalon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ray-Eldath","download_url":"https://codeload.github.com/Ray-Eldath/Avalon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ray-Eldath%2FAvalon/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266495905,"owners_count":23938620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coolq","coolq-http-api","discord-bot","java","kotlin","qq-group-robot","robot"],"created_at":"2024-08-09T13:02:26.345Z","updated_at":"2025-07-22T12:31:04.860Z","avatar_url":"https://github.com/Ray-Eldath.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"# Avalon v1.3.1    [![GNU Affero General Public License, version 3](https://www.gnu.org/graphics/agplv3-155x51.png)](https://www.gnu.org/licenses/agpl.html) [![GitHub stars](https://img.shields.io/github/stars/Ray-Eldath/Avalon.svg?style=social\u0026label=Stars)](https://github.com/Ray-Eldath/Avalon/stargazers) [![GitHub followers](https://img.shields.io/github/followers/Ray-Eldath.svg?style=social\u0026label=Follow)](https://github.com/Ray-Eldath)\n\n[![Build Status](https://img.shields.io/travis/Ray-Eldath/Avalon/master.svg?style=flat-square)](https://travis-ci.org/Ray-Eldath/Avalon) [![Build status](https://img.shields.io/appveyor/ci/RayEldath/avalon/master.svg?style=flat-square)](https://ci.appveyor.com/project/RayEldath/avalon/branch/master) [![CircleCI](https://img.shields.io/circleci/project/github/Ray-Eldath/Avalon/master.svg?style=flat-square)](https://circleci.com/gh/Ray-Eldath/Avalon/tree/master) [![](https://jitpack.io/v/Ray-Eldath/Avalon.svg?style=flat-square)](https://jitpack.io/#Ray-Eldath/Avalon) [![Known Vulnerabilities](https://snyk.io/test/github/ray-eldath/avalon/badge.svg?style=flat-square)](https://snyk.io/test/github/ray-eldath/avalon) \n\n[中文（简体）](https://github.com/Ray-Eldath/Avalon/blob/master/README.zh_CN.md)\n\n**Avalon is a scalable multi-function group robot for QQ and Discord.**\n\nThe support for QQ is based on [CoolQ-HTTP-API](https://github.com/richardchien/coolq-http-api), and the support for Discord is based on [JDA](https://github.com/DV8FromTheWorld/JDA/). The connection with Microsoft XiaoIce is based on Mojo-Weixin *(may not works except in China)*.\n\n## Functions\n\n\u003e **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.\n\n### Introduction\n - **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`.\n - **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`.\n - **Build status notification:** When the build status for specified project(s) update, Avalon will send notification. *([AppVeyor](https://ci.appveyor.com) and [TravisCI](https://travis-ci.org) supported.)*\n - **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](https://glot.io))*\n - **Notification sent when RSS update:** After enable RSS function and specified the URL(s), Avalon will send notification when these RSS update.\n - **Scalable:** Avalon allows you to add new function or feature by MessageHook or Plugin.\n - ***(Unavailable except in Chinese nations or areas)* Smart reply:** Avalon has been docked to [Microsoft XiaoIce](http://www.msxiaoice.com) to privide smart reply service (just like chat bot), you could use it by command `avalon answer me`.\n - ***Unavailable except in Chinese nations or areas)* Hitokoto:** Avalon has been docked to [一言](http://hitokoto.cn) to provide \"hitokoto\". You could config Avalon to send one when started or use command `avalon hitokoto` to get one.\n - ...\n\n### List of commands\n\nAll commands listed below can be triggered by some particular command as long as has required permission.\n\n:grey_exclamation:: **Admin command.** Only users specficed as admin in `group.json` and owner could execute these commands.\n\n:exclamation:: **Owner command.** Only user specified as owner in `group.json` could execute these commands.\n\n:white_circle:: **Unmanagerable command.** These command *can not* be managed by `avalon manager`, but *can* be disabled in `config.json`.\n\n:red_circle:: **Basic command.** These command can *neither* be managed by `avalon manager` *nor* disabled in `config.json`.\n\n| Name        | Trigger command                                    | Description                                                  |\n| ----------- | -------------------------------------------------- | ------------------------------------------------------------ |\n| Blacklist   | `avalon blacklist (list OR add OR remove)`         | :white_circle: :grey_exclamation: List all accounts in blacklist. Add account to blacklist or remove from it. |\n| Echo        | `avalon (ec OR echo)`      | Avalon will repeat the given sentence.                       |\n| Execute     | `avalon (ex OR execute) \u003cLANGUAGE\u003e{ENTER}\u003cCODE\u003e` | Execute given code and echo the return or the error message. |\n| ExecuteInfo | `avalon (exi OR execute info)`                     | For info about code executor.                                |\n| Flush       | `avalon flush`                                     | :white_circle: :grey_exclamation: Flush caches and delete temp files. |\n| Heartbeat | `avalon (hb OR heartbeat)` |:white_circle: Test if Avalon still alives.|\n| Help        | `avalon (hp OR help)`                  | :red_circle: For help content.                               |\n| Manager     | `avalon manager (start OR stop) \u003cTRIGGER COMMAND\u003e` | :white_circle: :grey_exclamation: To start or stop particular command responder. |\n| Quote       | `avalon quote \u003cSPEAKER\u003e \u003cCONTENT\u003e`                 | :grey_exclamation: To quote message into Avalon's database.  |\n| Reboot      | `avalon reboot`                                    | :white_circle: :exclamation: Reboot Avalon.                  |\n| ShowAdmin   | `avalon (wia OR whoisadmin)` | Show list of all admins.                                     |\n| Shutdown    | `avalon (shutdown OR exit)` | :white_circle: :exclamation: Shutdown Avalon.                |\n| Version     | `avalon (ver OR about)`         | :red_circle: Show version and related info.                  |\n| Wolfram | `avalon (tm OR tell me) \u003cyour question\u003e` |(Only English) Send your question to Wolfram Alpha and echo the return.|\n\nSome commands only available in particular version of Avalon. For more details, see RELEASE Notes for every [RELEASE](https://github.com/Ray-Eldath/Avalon/releases).\n\n### List of extension\n\nAll following extension are push-type, they will sent message automatically when state change detected and therefore **can not** be triggered by command statements.\n\n| Name        | Description                                                  |\n| ----------- | ------------------------------------------------------------ |\n| BuildStatus | Notification will be sent when configured CI build state of given project update. [TravisCI](https://travis-ci.org) and [AppVeyor](https://ci.appveyor.com) now supported. |\n| RSSFeeder   | Message will sent when configured for RSS update.                  |\n\n**If you want Avalon to have some new functions, welcome new [issue](https://github.com/Ray-Eldath/Avalon/issues).**\n\n\u003e *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](https://github.com/Ray-Eldath/Avalon/blob/master/README.zh_CN.md).*\n\n### Coversation log\n\n// TODO\n\n## Contribute [![Open Source Helpers](https://www.codetriage.com/ray-eldath/avalon/badges/users.svg?style=flat-square)](https://www.codetriage.com/ray-eldath/avalon)\n\n### Notice\n\n1. **Please make sure your editor support [EditorConfig](http://editorconfig.org)!**\n2. All class under package `group` must `implements GroupMessageResponder`.\n3. Class or method that tagged as `@deprecated` will removed officially in the next release.\n4. From `v0.0.1`, the version number will follow [Semantic Versioning 2.0.0](http://semver.org/).\n\n### Todo\n\nSee [Projects / Avalon](https://github.com/Ray-Eldath/Avalon/projects/1).\n\n## Configuration\n\nSee [Avalon.wiki](https://github.com/Ray-Eldath/Avalon/wiki). (Only Chinese (Simplified) version provided yet ;-) )\n\n## Acknowledgement\n\nThis project is developed with IntelliJ IDEA Ultimate and the subscription is obtained freely from [Jetbrains Open Source Support Program](https://www.jetbrains.com/community/opensource/). Thanks to Jetbrains!\n\n[![Jetbrains logo](/img/jetbrains-variant-4.jpg)](https://www.jetbrains.com/?from=Avalon)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRay-Eldath%2FAvalon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRay-Eldath%2FAvalon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRay-Eldath%2FAvalon/lists"}