KaellyBot

Discord Bot for Dofus game
授权协议 GPL-3.0 License
开发语言 Python
所属分类 应用工具、 IM/聊天/语音工具
软件类型 开源软件
地区 不详
投 递 者 程鸿波
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

KaellyBOT

KaellyBOT aims to provide useful commands for DOFUS community (FR/EN/ES)! If you have questions, suggestions or just want to say hello, feel free to join the discord support server :)

Invite KaellyBOT to your server

There is a running official instance used by 8000+ discord servers and 380.000+ users.
Just click here, follow the discord instructions and that's it!

Commands

KaellyBOT commands

Developer section

This section is dedicated for developers. If you're not, please use the official instance described above.
Note: this repository is considered as deprecated: you can find some explanations just below.

Current structure

  • Java 8 project based on Discord4J V3.0.15
  • Built with Maven
  • Commands detection with regex
  • Store data into SQLite database
  • Start it with java -jar Kaellybot.jar

Limitations

With the time and the growing usage, a lot of new problems appear:

  • The use of file database is limited and adapted for small bots
  • No smart caching for stored data
  • No use of Reactor project to optimize the performances
  • Permissions needed to send a message are not well checked
  • Commands arguments are not well divided: all behaviour described in the command class
  • Almanax, RSS and Twitter events are not well managed for large bots (it breaks very often)
  • Usage of tmux/screen to host it
  • Some of these previous limitations require more RAM and so increase the cost to host it

All these factors push me to put this project as deprecated and to think about a new architecture.

What's next?

The KaellyBot organization has been created to contain several projects like:

  • Kaelly-core is the equivalent of this one with the following structure:
    • Java 15 project based on SpringBoot V2.X and Discord4J V3.1.X.
    • Built with Maven
    • Dockerized with Jib
    • Massive use of Reactor
    • Massive use of Annotations to describe the commands
    • Massive use of CDI: everything is injectable
    • Commands arguments detection with regex
    • Store data into MongoDB database
    • Microservices and dedicated libraries built for it
    • This version is still in development and is partially used by the official instance (DofusRoom feature is the only one available).
  • Kaelly-portals is a SpringBoot microservice to manage the portals positions from different sources like dofus-portals.fr. It is currently used by the official instance.
  • Kaelly-commons is a SpringBoot library to bring some commons entities or tools, currently used by Kaelly-core and Kaelly-portals.
  • Kaelly-dashboard is a first draft of a dashboard website (Node/Express/DiscordJS) to configure KaellyBot on your server. This project is paused, not prior and not used. The chosen technologies are not totally defined and will probably change in the future.
  • Kaelly-environment is the place to store some docker-compose files and automate easily the launch of KaellyBot (partially or entirely) on a new machine.

There is still a lot to do, but I'm working actively on it! If you wanna help, feel free to join the discord support server and discuss! :)

License

KaellyBOT is GPL(v3) licensed.

Partners

JetBrains supports this project since the beginning by providing us its products!

Thank you!

The development and the availability of KaellyBot 24/7 generate ongoing cost. Do not hesitate to help the project grow with a donation!
Donate

Donators

  • Hart69#0001
  • Elder-Master#7684
  • Darkrai#8780
  • DreamsVoid#8802
  • ! Siid !#0001

相关阅读

相关文章

相关问答

相关文档