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

Popular posts from this blog

Rewriting Spacebot: Part2 - Having FUN with VIEWS VIEWS VIEWS

Rewriting SpaceBot p-2 This is just day 1 and I feel very confident, even though it's been a little difficult. I decided to start  with the bot in such a way that I can scale it almost infinitely, so I jotted down 5 things to do for the day: Complete the main file, Set up a good logging system, Decide a file structure for super clean code, Complete the fun cog WITH slash commands, and decide the database schema. All that, while travelling from Mumbai to Deolali  Do you think I managed to do it? I did most of this coding while in the car travelling from Mumbai to Deolali (I'm returning home as I write this blog).  Unpopular opinion: coding while travelling is super fun because no one knows what you are doing and why you are doing it — Dhravya Shah (@DhravyaShah) January 23, 2022   By the way, follow me on twitter A good logging system First, I asked myself: What makes a good logging system? These are some criteria I put for myself Proper log levels On-point log messa...

Rewriting Spacebot: Part3 - AUTOMOD, DATABASE GO BRRRRRRRRRRRRRRRRRRRRRRRR

 I'm really proud of this week.     Over the last week I managed to make the Automod,  work.  definitely wasnt as easy as I thought, but it works now. Join me through the thinking process and "Making it work" process in this blog. Maybe follow me on twitter? To be honest, setting up the database and caching was the hardest part. But this useful extension made everything so so so much easier. MUST HAVE Extension ( 1 ) for everyone working with #mysql on @VisualStudio This one allows you to connect to the database and edit, create columns/ rows without any code/minimal code!!! Also lets you backup your database, use pre-written SQL queries, view tables and much more pic.twitter.com/gx7cZZwmrd — Dhravya Shah (@DhravyaShah) February 6, 2022 You can follow me on twitter. I often share my experiences and stuff there  Automod Figuring out database structure Some wise man told me, "Once you make your relational database, you regret the structure for your entire ...