Skip to main content

Rewriting Spacebot: Part1 - Deciding features and tech stack

Why Rewrite?

The answer is very simple: I'm not really happy with the current state of Spacebot. Its growth is slowing down, I'm less motivated to work on the project because of just how basic it is.

But this is gonna change now.


Deciding the features

I don't just want to make Spacebot multipurpose, I wanna make it a *good* multipurpose bot. 

That is, every feature that I add to SpaceBot should also add a considerable amount of value to any discord community, which is what I think Spacebot lacked earlier. It has like 60 utility commands but most of them aren't done well.

Spacebot has these features currently:

  •  Very bad moderation
  •  Very bad "Fun" commands
  •  Kinda useful Utility commands but most aren't good
  •  Kinda good Music system, I might just keep the music system as it is in the rewrite (with a few visual changes)
  • And then there's button roles, Discord together and stuff. Which isnt really good tbh
What I want to include in the rewrite:

  • Moderation, Auto-moderation
  • Fun, Utility
  • Music
  • Reddit, Instagram, etc feeds (perhaps even rss if i figure it out)
  • Logging
  • Image processing and generation
  • Giveaways
  • Reaction roles
  • Reputation system 
  • Ticket system
All while looking good, being really easy to use, configurable and interesting at the same time.

I'll also make a web dashboard for Spacebot, which is currently the only way for me to earn money

Will Spacebot still be open source?

This is an important decision and I want it open source. But this might change in the future

Deciding the tech stack

Alright, this is probably the most important decision to take because once I do it, it will stick
  • I still want to use python, because that's what I'm the best in 
  • I want to use some sort of SQL database, and MySQL is what I'm the most familiar with
  • For the web interface, I'll use Quart Python because, again, that's the easiest choice out there
  • I'll also make use of DhravyaAPI for Imgen. It makes more sense because I can add features to the API for the public to use
So the decision is obvious, but I might change the web interface to use React later, when I'm better at React, and switch to DiscordJS in the next rewrite

Infrastructure

I want to keep the infrastructure very scalable and stable. I have huge plans for Spacebot.





This will be challenging, but I will try to keep documenting everything as I do it


Comments

Sushi said…
Lessssss gooo
Blogging returns don't quit this time
+++ said…
This comment has been removed by the author.
Viatori said…
Looking forward to reaction roles. (=
Anonymous said…
damn, all the best man :D