NabBot Logo

The Future of NabBot - April 2022 Update

Hello everyone!

As was stated previously in November 17th, 2021, NabBot is migrating to Slash Commands.

A lot has happened since then, it has been so much work and effort that we barely had enough time to stop and write down an update to you. But we said we wanted to try and keep you up to date, so here we are trying again to bring you closer into our current roadmap.

NabBot rework

As was stated previously, discord.py announced it would be discontinued. This was a critical and blocker issue to our development roadmap, as we heavily depended on the library to develop NabBot.

NabBotKt is born

With these news into consideration, we reevaluated our technical setup and decided to migrate the codebase to Kotlin.

Kotlin offers better performance due to it being a compiled language, compared to Python that is an interpreted language. During development of the code that reads from Tibia.com, we were already seeing improvements like 5x faster parsing times. Additionally, there was already a library with Slash commands implemented and that is in active development.

After months of effort invested into NabBotKt, we were caught by a surprising turn of events when discord.py's owner announced development would resume. Now, another hard decision had to be made: continue with the work in Kotlin, or drop everything and start over, from scratch, the whole Slash Commands rework using Python? Since a considerable amount of effort had already been put into migrating NabBot to Kotlin and, on top of that, we are developers and feel motivated by the challenges and the opportunity to learn new things, we decided to continue the migration to NabBotKt using Kotlin.

Rework status

We estimate migration of commands to NabBotKt is at 70%. Some of the functionalities already done include:

  • All TibiaWiki commands
  • All Tibia.com related commands
  • Auction statistics
  • Death and level up tracking
  • Reminders, boss timers and events

However, some major components of NabBot are still not worked on, like the Web Dashboard and the Respawn System, due to their complexity and size. Although we value and understand the importance and popularity of features like the Respawn System, we consider it "only" a part of NabBot's ecosystem, one that would take too much effort to migrate at first. It was decided this component would be left with lower priority, in exchange for migrating multiple other useful and simpler commands that are also popular and easier to rework.

Rework deadline

The announcement of Discord's message restrictions defined April 30th, 2022 as the deadline for the changes to come into effect. This was the deadline we were working on, and it was already pretty hard to reach, considering the complexity of NabBot and all the effort into learning getting familiarized with a different language to be able to rebuild the project from scratch with good quality.

The bad news is, it is late April 2022 and our work is not done. The good news is, Discord has announced an extension of their deadline, which is now defined as August 31st, 2022.

Current NabBot plans

As we have stated before in our Discord server, we are putting all the development effort into the migration. Therefore, no new features or enhancements are being actively worked for current state of NabBot, only bugs are worked on. Needless to say, any feedback that we have received in the process has been noted down and will be worked after the release.

NabBot is a project that is only developed under the team's free time, and so we recognize it can sometimes feel very slow, specially in the past few months with the rollercoaster of impacting news. We hope you understand our side as well and continue to support us! We encourage you to continue to give constructive feedback, as any information you give us influences priorities and ideas we manage behind the scenes.