notes/software/Rewriting TS.md
2023-08-26 11:34:11 -06:00

1.3 KiB

TS is currently written in Python, depending on a technically EOL version of the discord.py library. It has grown to a massive scale, and provides all of the functionality that is critical for the server, but has some downsides.

  • The codebase is not documented very well, which makes changes to the core system difficult.
  • Python suffers from performance issues that have proven be meaningful at the scale of the server (they have been addressed)
  • The migration to a new discord.py version is proving to be extremely troublesome

However, sticking with the system we currently definitely offers some pros:

  • It functions and is largely bug free, proving stable enough for our use case, with the reliability proving to be mostly dependent on the host.
  • Eff is contributing, however the level at which he will end up contributing to the project is uncertain
  • Once totally 'cleaned up', sticking with TS may be perfectly acceptable

Rewriting TS offers some pros:

  • We can document it as we go and decide on design patterns and practices to stick to before implementation begins
  • We evaluate the scale that TS needs to fit, and design according to that
  • We can switch to a language that may prove to be more performant/versatile, should we decide discord.py and python are not the best tool for our needs