Sandra has come a long ways since she was created, rewritten multiple times and evolved as time went on. From here you can see a rough outline of the changes Sandra has seen over the years.
It has been a while since a formal release has been made, but make no mistake, there have been constant improvements behind the scenes. Today we are excited to release a complete overhaul to the mining and item system! With this update it was necessary to reset everybody's inventories—but don't fret; you have been reimbursed for the full value of the items you had in your inventory prior to this update. Most of these changes have been released as they were completed, but no announcement was made for their arrival, so some of these things may not be new to you.
- Simple join and leave messages.
- Donors can upload custom welcome image backgrounds in s.config.
- Donors can queue Spotify tracks, playlists, and albums.
- MP3 files can now be played if they are uploaded to Discord.
- You can disable the earning of XP per channel in s.config.
- The guild chat queue is now preserved across restarts.
- The Alba font option for welcome images.
- Boop, Bots, Lock, Members, Mock, Premium, Random, Replies, and Updates commands.
- Role Sync Strategies - Include every role the user has earned, or just their newest roles.
- Save Roles - Remember your member's roles and give them back when they rejoin.
- Complete overhaul of the mining and item system.
- Lots of bug fixes and behind the scenes improvements.
- Moved s.roles !giveall and !removeall to their own command, s.giveall and s.removeall.
- Moved s.ranks !sync to it's own role, s.sync.
- Various unpopular types from s.weeb.
Happy new year~! 🎉 To kick off 2019, Sandra has been updated to bring you even more features. Unfortunately, along with this update the current dashboard will be retired. This is due to the increasing difficulty maintaining the broken PHP environment this website was created in. In the near future the website will get a fresh coat of paint and a rewrite using NodeJS. Cheers!
- Move Command - Rearrange tracks within the queue.
- Seek Command - Skip ahead to the specified timestamp.
- Now Playing - Sandra will send a message when a new track starts.
- Replies - Make Sandra reply to certain keywords with a reaction, some text, or an image.
- Sandra Audit Logs - Keep track of what and when changes are made to Sandra's settings.
- User Time Zones - When you set your timezone in s.edit, your local time will appear on your profile.
- Welcome Image Customization - Pick a background and font of your choice in s.config.
- All of Sandra's responses were tweaked to give Sandra some personality.
- Config and UserConfig were completely rewritten, making things cleaner and easier to use.
- You can now add multiple roles and a bot-specific role to the Auto Role feature.
- Google safe search is now enabled on s.google and s.image. (Who left that off?)
- Guild Chat Reports have been made easier by not requiring a sender ID.
- More commands use the new argument system.
- A bug in s.transfer where the confirmation pin wasn't read correctly.
- A workaround in Anti-Advertising where the message could simply be edited.
- The RepeatAll command in favor of the !add flag on s.repeat.
- The ability to disable commands in certain channels. This will be revisited in a future update.
Based on the negative feedback on our changes to the prefix system, they have been reverted and you can now set multiple prefixes again.
With our new update model, all of these changes have been rolled out as they were finished instead of all at once. Some of these additions were suggested by members of the community almost a year ago, but with the new update model they can be worked on relatively quickly.
As for prefixes, they might need a bit of an explanation. Instead of being able to add custom prefixes like before, now you can only change the prefix. This streamlines the prefix system and prevents other prefixes from interfering with other bots. We will be listening to your feedback about this change and may bring back the possibility to set more than one.
- A limit to s.clear so that only 200 messages can be deleted at a time.
- The ability to provide a page number to s.queue and s.top
- The ability to set your timezone in s.userconfig to be used in s.time when you provide no arguments.
- Mute Role configuration to the dashboard.
- Clap, Image, Pin, ServerEditor, Trello, Unpin, and VoiceKick commands.
- Prefixes - This feature was rewritten as explained above.
- Donors no longer have a cooldown when using s.mine.
- Roll now accepts an argument to use as the upper bound.
- Messages can now be kept when banning a user by using the !keep flag.
- Updated the style of the emotes used throughout the bot.
- Moved !clear and !clearall from s.warn to s.warnings.
- You won't be asked again for your feedback if you provided it as a command argument.
- Items in the shop are now ordered by price instead of their name.
After 5 months of blood, sweat, and tears, update 420 is here. This update is pretty exciting, not only are there 3 new features, but the entire command system was rewritten to allow for some pretty neat stuff. In most commands where you previously needed to mention someone, you can now just type part of their username or nickname!
- Global Leaderboard - Compete with users across Sandra's servers for the #1 spot.
- Reaction Roles - Allow your members to join/leave roles by clicking on reactions.
- Slowmode - Limit the amount of messages your members send, beyond 2 minute cooldowns.
- Sync on Join - Give users their hard earned ranks back when they rejoin.
- Daily, EmoteEditor, EmoteInfo, Emotes, Equip, Fortune, Global, Mine, Nickname, Priority, RepeatAll, Reputation, Shards, Shop, Steal, Transfer, Usage, UserConfig, and Volume commands.
- Complete rewrite of the command and argument system as described above.
- Moved prefix management from s.config to the s.prefix command.
- Sandra will now start typing when the other party starts typing in a guild chat.
- The ChangeLog and Quote commands.
An actual update is on the way, but in the meantime this release updates a few internal IDs used to display the custom emotes throughout the bot.
This release fixes a major bug that our user base thankfully didn't exploit. The bug in question is explained on this trello card. This release was delayed because of the point in production it was fixed, but I have realized the severity of this particular bug required immediate mediation. It's a good thing none of you read the trello...
Fixes some minor permission requirements that weren't necessary.
This update brings command categories, two new commands, and plenty of bug fixes.
- Command Categories - Commands will now be sorted by category in s.commands.
- Ship Command - When you ship two users, Sandra will draw an image to go with it.
- Music will now be paused if Sandra is left along in a voice channel.
- Combined some logging types into a single Moderation type.
- If a previously denied command is allowed, the denied status will be removed.
- Combined Bug and Suggest into a single command, Feedback.
- Improved some wording in the Ban, ChangeLog, Kick, Report, and Stop commands.
- You may now provide the amount of tracks to skip in s.skip.
- Weeb file types are no longer restricted to only gifs.
- Sandra not responding to mentions if it wasn't a command but started with the mention.
- Tier goals showing an extra level of requirements than actually required.
- Queue information not being kept if the song is repeated.
- A bug related to logging events not being enabled.
- Warning reasons would still display even if they were empty.
This past week has been very slow, sometimes taking 30 minutes to respond. The root cause was our thread pool getting backed up with
SQL DELETEcommands. Forget SQL, we have moved on to Redis and implemented an internal cache.
- The entire database handling system has been rewritten from scratch.
- The ChangeLog command was retired in favor of a change log hosted on our website.
This release contains minor bug fixes and tweaks to bring you a better experience while using Sandra.
- Improved the wording of some command exceptions.
- Improve internal JSON parsing to allow for line breaks. It makes me cringe to think this used to be an issue.
- Anti-Advertising no longer deletes links that belong to the guild they were sent in.
- In order to use the Report command, a guild chat session must exist in the channel it was used in.
- Members that have left the guild will no longer appear in s.top.
I won't even attempt to create a change log for this version. Sandra was essentially rewritten from scratch, many times.