
S.A.I.L
S.A.I.L is a chatbot for the platform Discord, it was designed with utility in mind and has many various features to help moderators and server admins to run their Discord server.
My Role
My role in the development of S.A.I.L is that of a lead developer, however as there is only myself in the team my role shifts to meet any requirements that are needed to progress in the development of the bot.
My Goal
My main goal with S.A.I.L is to create a chatbot that people can enjoy and use with ease, It also should be as customisable as possible with features modifiable to the user’s wants or needs. It should also be clear and visually easy to determine what each feature should do and have enough documentation within the bot’s systems to allow a user to use the bot without outside help.
My Achievements
Role Switch command
This command was the first addition to the bot, it was a simple command that allowed users to select a coloured role for the use on the server, the main feature of this command however was that it also removed any other roles within the coloured role list when a new one was applied.
Easy to use Menus
When creating menus for a bot you need to keep in mind two main things, accessibility and readability it should be clear what each part of a menu does and I aimed to do such things with my menu commands, allowing users to find exactly what they want with relative ease.
Custom commands
Custom commands are something fun for users to play around with allowing them to create custom command outputs at their own leisure. The custom command system I designed also has a Tag system allowing users to use a sort of custom code language to completely customise how the command show’s its output, from a tag that allows for choice of a random outcome to tags that do different things based on the user who used the command.
Pixels (Experience System)
A very common feature among discord bots and one that was requested for quite some time before I finally managed to implement are experience systems, the one within S.A.I.L is referred to as Pixels. Pixels are gained through chatting on the server or doing other various tasks, allowing users to rank up within the server. The system also allows admins to figure out who the most active users are and with certain settings how many users have been active within the past 2 weeks.
One of the main challenges with this system was that in other systems when a user levels up by reaching a experience threshold the method of announcing the level up is not always presented in a way that a certain user would prefer, this is why with S.A.I.L’s Pixels system I allow users to completely customise how they receive notifications and even if they want to level up and gain experience at all.
Profiles
The profile system is a system that allows users to create a custom user card for themselves, this system allows them to set a quote/message for users to see, and it also allows them to set their preferred gender/pronouns for other users to see, any user can look up another user’s profile to get some information about them from their roles, to their current rank or pixel level. Users can also set up personalised links to places like social media on their profile.
The profile system also includes profile settings that allow users to customise the way they interact with the server.
Modularity
S.A.I.L at its heart has a truly modular nature, with commands that allow admins to select the modules that they want and toggle them on and off at will. When a module is turned off it will completely hide any and all information related to said module from all users except admins. The main purpose of handling the modularity this way is that it helps remove unused or even unneeded parts of the bot from user’s eyes, thus allowing them to find what they want a lot easier