New Foundations

Over the past few months, contrary to what you might have thought, no, I wasn't slacking off! I was actually working on a complete overhaul of John-Bot and its services. A lot has been going on behind the scenes, most notably bringing everything I've built for John-Bot together into one single project, making the services much easier to update and maintain.

This kind of update is essential in the life of a project, both to keep up with the best practices in technology and to make sure the project stays maintainable in the long run.

  • Bot
    • Completely rewrote the ticket transcript system, with much better support for Discord's newer components: polls, forwarded messages, threads, Components V2, and more
    • Added a default avatar to transcripts: members who changed their avatar between the closing of their ticket and the viewing of the transcript are now shown this default avatar
    • The /ping command now details the response time of every part of the infrastructure
    • Unhandled errors are now logged and an error code is given to the user, making bugs much easier to track down
    • Added support for all of Discord's new permissions
    • Durations now accept and display weeks, months and years
    • Experience points are now counted more reliably
    • Mutes with a duration of 4 weeks are now supported
    • If a member's data cannot be retrieved, the action will now fail, guaranteeing that every safety check is performed
    • If a temporary ban fails to be lifted, it will be attempted again on the next run
    • A giveaway's duration can no longer be negative (yes, that really was possible...)
    • Messages whose content is too long are now truncated instead of failing to send
    • Empty select menu answers no longer shift the other answers of the form
    • A panel's previous message is only deleted once the new one has been sent successfully
    • The transcript is only saved if the file was actually sent
    • Fixed the default description of the leave message
    • Fixed variables whose value contained certain special characters
    • Fixed the buttons of paginated lists
    • Various fixes and optimizations
  • Website
    • New video tutorial section on the Premium page
    • Improved Discord message rendering
    • Fixed the message preview and the Markdown rendering
    • Fixed dropdown menus appearing behind other elements
    • Various fixes and optimizations
  • Global
    • Bot updates will no longer cause any downtime
    • Brought the bot, the API, the website and the side services together into one shared architecture
    • Strengthened security across all services

And a whole lot of other things that aren't really interesting for you, John-Bot user.