za419 / CadenceBot

A Discord bot for Cadence Radio
MIT License
2 stars 1 forks source link

Major refactor #117

Open za419 opened 1 year ago

za419 commented 1 year ago

CadenceBot is beyond due for a major refactor.

It's current structure is a direct carryover from v0.9b, which was a much smaller and simpler codebase where it actually made sense. But now, CadenceBot is large, and complicated, and it's getting pretty hard to accurately traverse it - For me. For newcomers, the structure of the code is probably a massive roadblock to development work.

So, we need to put in some work and update the structure of the code in a big way.

Along the way, since I intend this to come after #105, we can afford to take some steps that I formerly haven't taken which will greatly improve the development and maintenance experience, but will add steps to the deployment of the bot that would be impractical (pre-Docker) - Namely, I'd like to at least add support for Typescript, and use Typescript at interfaces between parts of the refactor. New code should be Typescript-correct, but I'm ok for this refactor to not immediately go back and ensure everything makes the fullest use of the type system as long as things compile.

So, goals:

This will be a big change for CadenceBot with no functional difference to the user, but it will greatly help future development work.