Update v1.4

August 16th, 2023


Author: Kate Ward

Xenia for Discord v1.4 was released today, with some small changes and a new feature.

tl;dr

Xenia Dashboard Beta is now publicly available. You can check it out at xb.kate.pet or click on the "Dashboard" link in the navbar.

Dashboard features

In the new Xenia Dashboard Beta you have the ability to bulk-configure settings instead of requiring to run individual commands which can become tedious.

Currently the following features have been ported;

  • Moderation
    • Ban Sync
      • Request Ban Sync
      • Set Logging Channel
    • Logging
      • Set all supported Log channel events.
  • Fun
    • Counting
      • Set designated channel
    • Level System
      • New Feature Toggle usage of Level System.
      • Toggle "Level Up" notification suppression.
      • Set "Level Up"notification channel.

Additions

  • Level System
    • You can now fully disable the Level System with the /xp enable or /xp disable commands.
    • If you wish to change the visibility of the "Level Up" notifications, you must use the /xp silence command instead of using the enable/disable command since it has been repurposed.
  • Ban Sync
    • The state for your server (weather it's enabled/disabled) is now tracked for administrative purposes. This will be available for server admins in a future update.

Fixes

  • When using the owner-only command /bansync setguildstate, I forgot to actually set the state and the Enable field in BanSyncController. This has now been fixed so servers can actually get approved for the BanSync feature now.

Notes for Contributors

In this update, there has been a major restructure of the codebase to support the new Dashboard.

All models that are used with MongoDB/BaseConfigController have been moved to the new XeniaBot.Data library. This is to make usage of the configuration of modules easier to implement and maintain in the future with the Dashboard and Bot both in mind.

DiscordController and PrometheusController have been moved to XeniaBot.Shared and anything reflection-related. This is because the Dashboard uses it as it's core functionality to actually modify a guild's config.

There have been 2 new fields added to ConfigData which gives the Dashboard the ability to use Discord's OAuth feature. OAuth_ClientId and OAuth_ClientSecret are the new fields. Both of these new fields are documented in an updated README.md file which is still located in the root location of the repository.

The new Dashboard and the Bot are both available as a containers at ktwrd/xenia-discord-dash and ktwrd/xenia-discord respectively. An example docker-compose.yml is also provided in the repository, which you can find here.

Important Disclaimer

The Xenia Dashboard is still in beta, and anything is subject to change with or without notice. I will try my best to give notice to major/breaking changes but I may forget, and if I do, please call me out on it.

If you require any support or want to learn more, feel free to join our discord server and make a post in the xenia-support channel.


<< go back