What does the project do?
A discord bot is something that users can add to their discord server that responds to chat messages to provide useful functionality. For example, a user could type .ban @mrpenguin and the bot would ban this user. Of course, this is possible with the built-in user interface, but there's so much more that a bot can do beyond what is available already.
Some of the things that Kernel does:
- Host giveaways, auctions, polls, competitions etc.
- Automated chat filters, role assignment etc.
- Purge messages, ban users who aren't on the server, mass ban users (e.g. to combat a raid)
- Moderate through giving warnings which automatically give punishments, rather than giving punishments directly.
- Keep yourself organised with notes, to-do lists and setting reminders.
- Calculate things, generate random things, look up words in a dictionary, translate, get the weather forecast, google sheets etc.
How is it made?
Kernel is made in Python. As this is the project I learnt to code in, it's pretty messy, and often reveals a lot about the history as you can see when things were developed based on how maintainable the code is. If you're interested in an example of a technical challenge in the implementation, check out my blog post on how I avoid multiple bots talking over each other when sharing the same prefix.
What have I learnt?
Some things I've learnt:
- Writing code that works.
- Writing code that's maintainable (the best way to learn this is to write rubbish code, return to it 2 years later, and then vow to never do that again...).
- Things take longer as a project scales up.
- Listening to customer feedback, and knowing when to ignore it.
- The importance of marketing.
- Quality over quantity.
- Ease-of-use matters.
- Simplicity is not always intuitive.
- Customisability doesn't matter as much as you think.
Find out more in the full blog post