Skyra v7
Published on 07/02/2022 by AuraWhy?!?
The Skyra Project strives to give users the best we can offer - however, as Skyra has been growing, she has developed a lot of features that are bland, incomplete, and unoriginal... We strive to offer quality over quantity in v7.
With the release of slash commands, Skyra will far surpass the 100 command limit (she has 254 at the moment of writing), creating confusion for users since they'll have to navigate between a lot of commands.
Additionally, both core developers have ultimately lost their motivation and the joy of maintaining Skyra. She's a complex bot full of complicated code that's a nightmare to update, scary and off-putting for new developers, and certainly doesn't help when we're trying to work on new exciting things. Skyra is a hobby project, and hobbies are made to be fun to work on - for us, Skyra is a chore to maintain and we get weary when we find issues. This document outlines our plan to fix all of these problems.
Note that most of Skyra will be preserved and relocated to another bot, be it ours or a third party, but some modules may radically change.
Everything will use slash commands; message-based commands will not be supported.
They're simply better, easier, and create more scalable architecture.
Anime Bot - Nekokai - Released: 2022-05-01
Nekokai inherits all of Skyra's anime and manga commands.
Fun Bot - Artiel - Released: 2023-06-09
Artiel inherits all of Skyra's animal, fun, game, and meme commands.
Moderation Bot - Skyra
Skyra will be focused solely on moderation and will be redesigned to create a deep integration with Discord.
Notification Bot - Acrysel
Acrysel inherits Skyra's Twitch notifications, but will also add support for YouTube, among other platforms.
Pokémon Bot - Dragonite - Released: 2022-01-22
Dragonite inherits all of Skyra's Pokémon commands.
RTS Bot - Nayre
Nayre is the only bot that will not inherit any of Skyra's modules. It will come with a currency and a levelling system, but those will be redesigned from the ground up and will be completely different to anything Skyra has ever offered.
Suggestions Bot - Iriss - Released: 2022-06-04
Iriss inherits all of Skyra's suggestion commands but will be greatly redesigned to take a deeper integration approach with Discord.
Tools Bot - Teryl - Released: 2023-02-26
Teryl is a very advanced miscellaneous and utilities bot. It inherits several of Skyra's most used commands and enhances them with features that were long requested.
All bots will share a /info
command, which will include a brief description, the uptime, server usage, a button to
invite the bot to your server, a button to join the support server, a button to open the bot's GitHub repository, and a
button to donate to our project.
Our stance on kitchen-sink bots
We define kitchen-sink bots as those that aim to be all-in-one, such as Skyra before the changes in this document.
Those bots have many issues - for example, their philosophy is to be a single bot for all, but they become a single point of failure when server owners trust them with many things. Imagine your users want music, but it's unavailable because the developers are ironing out an issue with moderation.
They're usually made with tight integration in mind, which is great in theory, but real-life usage shows that most servers will have at least two bots working together. Sometimes, there are even multiple kitchen sinks together (I have seen servers with Skyra, Dyno, and, MEE6 all fully configured for moderation) so others can take over if one fails.
Furthermore, they bear a huge maintenance cost and usually require large teams to keep up, to avoid creating huge development cycles and clear-cut examples of quantity over quality.
Finally, with slash commands being the preferred method, we have to take care of UI clutter and reduce the number of commands to 100 at most. If you invite a bot and suddenly get 100 commands (and many more if they register subcommands and groups, as well as per-server commands), you'd find yourself with a very long list of commands, which can be bothersome when you are trying to find a command from a bot. This is an issue even now as Skyra has roughly 40 help pages which take time to navigate.
Migrations
We'll announce the changes after we have released the first bot, which will serve as proof of concept. The announcement will include a link to this document.
Bots
We'll remove commands from Skyra as each bot implementing them gets verified.
This lets us rest from Skyra and focus on what we enjoy working on, additionally giving users a grace period to switch to the network without throttling them during the verification and reducing Skyra's command set at the same time.
Names
We'll give each bot a unique name based on Skyra's lore and its purpose.
The only exception will be Dragonite, which will be a Pokémon bot because it's better for that bot to have the name of a Pokémon.
Avatars
Since the names will be different, we will have to design the avatars for multiple characters from Skyra's lore. These will strictly be avatars, not logos, following suit from Skyra to give them each a unique look.
We'll take more artistic freedom and the characters won't have visors if they don't have them in the lore.
Admittedly, Skyra doesn't carry a visor in the lore anymore. The visor was created in the lore to protect her eyes since the available technology wasn't able to protect her eyes from external attacks. I considered removing the visor later on but chose not to because the visor became something unique in her branding, and is something that helps people recognise her. Therefore, she is the exception to this.
Website
We'll make a central website for all bots where specific bot functionality is divided into separate paths. skyra.pw will be a landing section with information for each bot in the network - this way, users are also exposed to the other bots, which might spark some curiosity.
Translations
We can make different Crowdin projects for each bot.
This will also make the bots easier to translate and fully independent from each other, generating more progress which helps motivation.
Database
We will split the database into one for each bot. This way each bot is independent, fault-tolerant and has adequate data isolation for security. We'll exclusively interact with the database through Prisma.
Support
We'll stop providing support for features that will be removed in Skyra, but only after we write a clear and concise announcement about what's being removed.
To help the transition, we'll pick bots we approve for usage with Skyra to cover the features she will no longer have. It's only right that we provide anyone that asks with a functional alternative if we are withdrawing support for features they need.
Patreon Perks
You might be wondering what we can offer if our current Patreon perks include the currency we'll be relocating to the RTS and the message-based levelling we're removing aside from different tiers of dedicated support and server setup - if you are, here's your answer.
$3 Tier
- Up to 5 YouTube subscriptions (from 3) - Acrysel.
- Up to 10 Twitch subscriptions (from 5) - Acrysel.
- Up to 100 Tags (from 50) - Teryl.
$5 Tier
- Up to 10 YouTube subscriptions - Acrysel.
- Up to 20 Twitch subscriptions - Acrysel.
- Up to 100 filtered words (from 50) - Skyra.
- Up to 100 filtered reactions (from 50) - Skyra.
- Up to 50 allowed links (from 25) - Skyra.
- Up to 50 allowed invite codes and servers (from 25) - Skyra.
$10 Tier
- Up to 200 filtered words - Skyra.
- Up to 200 filtered reactions - Skyra.
- Up to 100 allowed links - Skyra.
- Up to 100 allowed invite codes and servers - Skyra.
- Up to 200 tags - Teryl.
The following bots will not have any paid features or increased limits, as paywalls would only inhibit core features:
- Nekokai - Anime
- Artiel - Fun
- Dragonite - Pokémon
- Nayre - RTS
While in theory it could be paid or offer donor advantages, it could quite easily become a pay-to-win, which is a dreadful experience for end-users.
- Iriss - Suggestions
None of the paywalls may affect core functionality and must have adequate reasoning (e.g. high potential resource use or external rate-limit guarding). Limits to core functionality must be reasonably high such that the bots can operate normally with the vast majority of users not hitting limits aside from in special cases.
We'll also have a final bot and service, named Ring, which will have most of its functionality restricted to core developers.