lukosBot2 is a multifunctional and multiplatform chatbot, using the TelegramBots for Telegram platform, the JDA for Discord platform, and the Shiro for QQ using OneBot protocol, analysing command with the brigadier. The programme is powered by SpringBoot.
This is an experimental project. I'm using it to practice my skills, and it is not guaranteed to be stable or secure. Please use at your own risk.
The bot currently supports the following commands:
-
/bilibili- Get Bilibili video information.<code|link> [-i]- Support AV/BV id or b23 short link. Add-ito get more detailed information.
-
/echo- Echo back the provided message.<message>- The message to echo.
-
/github- GitHub related commands.search <keywords>- Search for repositories, issues, or users.repo <owner>/<repo>- Get information about a repository.user <username>- Get information about a user/organisation.
-
/ip- Query IP address information.<ip_address>- Support both IPv4 and IPv6.
-
/mcwiki- Get Minecraft Wikipedia information.*empty*- Get a brief introduction about the article.md- Get a Markdown file of the page, transforming from HTML.ss- Get a screenshot of the page.
-
/motd- Query Minecraft Java server MOTD information.<address[:port]>- Server address with optional port.
-
/music- Get music information.<query>- Return the query soundtrack information.<platform> <query>- Return the information on a specific platform, onlyspotifyandsoundcloudis supported.link <link>- Return the soundtrack information by its link.
-
/ping- check if the bot is alive. -
/player- Query Minecraft player information.<name|uuid>- Query player info by username or UUID.<name> -u- Get UUID by username.<uuid> -n- Get username by UUID.
-
/translate- Translate text.<text>- Translate the text to the default language.-f <from_lang> -t <to_lang> <text>- Translate from a specified language to another specified language.-f <from_lang>- Source language. Auto-detect if not provided.-t <to_lang>- Target language. Use default if not provided.
-
/wiki- Get Wikipedia information.*empty*- Get a screenshot of the page.md- Get a Markdown file of the page, transforming from HTML.
-
/whois- Query domain Whois information.<domain>- Domain name to query.
-
/help- Show the documentation for the bot.<command>- Get help for a specific command.
/weather- Get weather information for a specific location./translate- Translate text between languages./cave- Echo cave...
If you want to contribute to this project, feel free to open an issue or a pull request. Contributions are welcome!
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.
This project uses the following third-party libraries. All dependencies are compatible with AGPL-3.0, and their licences are respected:
-
Brigadier
- Repository: Mojang/brigadier
- License: MIT
-
Commons Net
- Repository: apache/commons-net
- License: Apache-2.0
-
Docker Java
- Repository: docker-java/docker-java
- License: Apache-2.0
-
Docker Java Transport HttpClient5
- Repository: docker-java/docker-java
- License: Apache-2.0
-
Flexmark
- Repository: vsch/flexmark-java
- License: BSD-2-Clause
-
Gson
- Repository: google/gson
- License: Apache-2.0
-
JDA
- Repository: discord-jda/JDA
- License: Apache-2.0
-
Jsoup
-
Log4j2
- Repository: apache/logging-log4j2
- License: Apache-2.0
-
Lombok
- Repository: projectlombok/lombok
- License: MIT
-
Selenium
- Repository: SeleniumHQ/selenium
- License: Apache-2.0
-
Shiro (OneBot)
- Repository: MisakaTAT/Shiro
- License: AGPL-3.0
-
SLF4J
- Repository: qos-ch/slf4j
- License: MIT
-
SnakeYAML
- Repository: snakeyaml/snakeyaml
- License: Apache-2.0
-
Spring Boot
- Repository: spring-projects/spring-boot
- License: Apache-2.0
-
Spring Boot Actuator
- Repository: spring-projects/spring-boot
- License: Apache-2.0
-
TelegramBots
- Repository: rubenlagus/TelegramBots
- License: MIT
-
WebDriverManager
- Repository: bonigarcia/webdrivermanager
- License: Apache-2.0