SnailBot has been redesigned from the ground up to handle the growing number of servers and news feeds.
We now utilize Components v2 for most commands and news posts, helping increase readability, usability, and (hopefully) help lessen confusion about the difference between postnews and enablefeed.
Menu-based commands like enablefeed now have a time limit of one hour. This should be enough time for people to do things, while also allowing us to garbage-collect periodically.
News posts can now be sent to threads, forums, and forum posts.
The tag filter now shows the last 20 known tags, and allows users to manually enter the tags they wish to filter by. You can also now include untagged posts in the filter.
News posts that have no tags will now have a tag of Untagged to allow for filtering (if the provider supports tag filtering).
Compatibility with RSS feeds has been improved - RSS feeds no longer require a date and URL. This means there shouldn't be any RSS/ATOM feeds that are not compatible with SnailBot (assuming the feed itself isn't extremely broken).
serverinfo and diagnose no longer have bot admin only parameters.
Enlisted no longer has an option for separate news and changelog feeds - there hasn't been a way for us to easily separate them in years. All posts will go to their configured news channels, and if there isn't one, it will use the changelog channel as the news channel instead.
editfeed, listfeed, and disablefeed have been merged into one command. You can now edit your automated feed settings right from listfeed.
postnews now queues a news post to be sent out at high priority, following the same mechanism as the automated system.
SnailBot is now better at handling internal errors when running commands.
SnailBot now properly verifies permissions for selected channels and roles when running enablefeed and editing feeds under listfeed, and will not let you continue until the issue has been corrected.
We are in the process of switching from Ko-Fi to Discord for Supporter access. For any existing Ko-Fi subscribers, your Supporter role will continue to function and the price will not increase. For any new subscribers, the cost will be increasing from $1 to $2/month. (at $1/month, we were losing 40 cents from transaction fees, plus this is the lowest pricing tier Discord offers)
The default provider images have been refreshed and updated. Steam and RSS will also pull from favicons when available.
The wtwiki command has been removed. Before it completely broke due to the War Thunder Wiki redesign, it was used a handful of times in a year.
Prefix commands have been completely removed, as slash commands have been the only supported way of interacting with SnailBot for a while now. This means SnailBot no longer uses the optional permission Read Messages and can be removed if you want.
The feedback command has been removed. No one has used it to submit actual feedback in the last year.
Rockstar Games has been added as a supported news provider.
SnailBot now supports setting tag filters on RSS and Steam feeds. If a specific AppID or URL does not have any known tags, you will not be prompted for tags.
SnailBot now uses Discord's built in channel/role select menus when prompting a user to select a channel/role.
SnailBot will now keep track of the 25 most recently seen tags for a provider and auto populate a select menu for users to select tags with.
A new command has been added: /editfeed. You can use it to edit settings for any news configuration without having to redo the settings from scratch.
Another new command was added: /queue. Use it to see if there are any news posts in the queue for your server.
/botstats has a new stat: Items In News Queue will tell you how many news posts are queued to go out to servers.
We've added support for sending news via webhooks in a attempt to reduce the amount of time it takes to send news out. In the coming weeks, we will be trying to migrate existing news configs to use webhooks. If SnailBot has the Manage Webhooks permission, a new SnailBot News Post Helper webhook will be created in any news channels used by SnailBot. Otherwise, it will fall back to the original news posting method.
/diagnose and /listfeed will now show the status of webhooks for your enabled feeds.
We now have a Ko-Fi page. If you'd like to support the work we do, we accept one-time donations and monthly memberships. Monthly memberships gives servers you choose priority when new news posts are available. We will never lock any core features behind Premium.
SnailBot will now detect invalid news configurations (language no longer supported, bad RSS/ATOM feed) and it will attempt to send out a service notification to let you know that it has been removed.
SnailBot will attempt to determine if a news channel actually no longer exists instead of blindly trusting that Discord reports a 404 Not Found correctly before disabling a news feed.
The menu system has been reworked to perform better.
/listfeed is now less confusing when there are no enabled news feeds and a single page of feeds.
The languages list was getting too long, so /showlanguages now takes a provider parameter and autocompletes any supported provider in SnailBot.
SnailBot will now attempt to send errors as ephemeral messages.
Tag support was enabled for SMITE.
/postnews steam now properly checks if a provided AppID was actually an integer.
Due to lack of use and effort required to migrate, the remaining mod tools have been removed from SnailBot. We recommend looking for another bot to do any logging you may need.
Prefix support has been removed from SnailBot. Some basic commands still support being used via @mentions (like botstats and serverinfo), but slash commands should be the preferred method of interacting with SnailBot.
SnailBot is now open source! Check out the source code at our GitLab instance.
SnailBot now utilizes Message Components (buttons, dropdowns) and Forms. Slash Commands are back and are now the main way of interacting with SnailBot.
You can now configure permissions for each command in SnailBot's integration settings.
disablefeed and postnews now make use of autocomplete - as a result, the prefix variants are no longer available.
We now use a command framework that allows us to have both slash commands and prefix-based commands. Prefix-based commands will still be available for use after September 1st, but this is deprecated and will be removed at some point in the future. Most commands no longer have a prefix variant.
Emoji-based pagination has been replaced with button pagination and is more reliable.
Reworked modtools configuration to use buttons.
The feedback command is limited to one execution every minute due to people spamming it.
The invite command's invite link no longer opens a separate browser window.
The userinfo command now supports banners and per-server avatars.
The unban command now supports autocomplete.
postnews can now post news to a channel even if you don't have the provider configured on your server. Provide a target_channel and (optionally) a role_mention to take advantage of this feature.
Due to a change in how we handle Gaijin news, War Thunder changelogs will say "War Thunder News" instead of "War Thunder Changelog".
We no longer assume that people enter Twitter usernames in lowercase and without the @ symbol.
leave was renamed to removesnailbot, now requires guild admin permissions and fixed so it actually removes SnailBot from the server.
Most moderation commands no longer require modtools to be enabled.
Removed features:
adminroles/modroles have been replaced by Discord's new Command Permissions system. By default, any command that required an admin or a mod role now requres MANAGE_MESSAGES and can be changed from within the server's integration settings.
Custom commands are no longer supported due to the migration to slash commands. We may bring them back at a later time.
mute/unmute (unused)
ban/kick (replaced by builtin commands)
warnings (unused)
Join messages (unused)
polls (unused)
roles (unused)
membercount (unused)
rules (only used by two servers)
Name change detection (was broken by discord api v8 permissions forever ago)
bugreport command (one person used it in the last year)
Crossout image embeds sometimes fail to render due to Crossout blocking Discord from hotlinking the image.
If a command panics, it never returns an error to Discord.
disablefeed occasionally fails with This command has an improperly formed argument. (can't reproduce reliably)
disablefeed and enablefeed autocomplete gets cut off both vertically and horizontally on desktop, works fine on mobile.
Commands that use interactivity features occasionally error when the end user interacts too fast - clicking the same button again after a second works.
News API sometimes selects weird images when parsing RSS/ATOM feeds (ex. happens on Github commit feeds)
If a command times out, there is no feedback indicating that it timed out due to how slash commands work.
Separated news parsing system from the bot internals to make it easier to add more providers and prevent parsing errors from taking down the whole news system.
Added support for Twitter, Smite, Forza, Blizzard, and League of Legends.
enablefeed, disablefeed, postnews, and listfeed are now dynamically generated at build time to make it easier to add more providers.
We now have slash command support for enablefeed! Keep in mind that slash command support is in alpha and may break in weird ways while we figure things out.
listfeed is now paginated for when servers have more than 8 enabled feeds.
RSS feeds should no longer jam and stop posting for weeks at a time.
Fancy provider icons were added for War Thunder, Crossout, Enlisted, and RSS.
SnailBot has been rewritten in Rust. The core of SnailBot has been reworked and upgraded to make it easier to add new features in the future.
This version of SnailBot was written with sharding in mind. When reporting a bug, we may ask for the Shard ID, which is at the end of SnailBot’s status.
botstats now shows the number of subscribers for each individual Gaijin provider.
poll should be able to handle non-default emojis better.
serverinfo and userinfo now show the correct Created At date and time.
serverinfo is now able to handle displaying VIP voice regions.
wtwiki is able to convert more MediaWiki formatting to Discord Markdown and is more resilient to website layout changes.
purge no longer errors when trying to delete an already deleted message.
The ability to specify rules when warning a user has been removed. It may come back at a later date.
listfeed should no longer error when handling multiple languages.
enablefeed now shows the user the actual URL of the enabled RSS feed when using the autodiscovery feature.
diagnose now checks if modtools are enabled.
membercount now shows the number of users and bots.
prefix now requires either the Administrator or Manage Message permission, or (if enabled) an Admin or Mod role.
More commands can now take advantage of admin/mod roles and bypass permission checks. You can see which role a command requires by checking the help page for the command.
help is now even more helpful, showing example commands and any command checks that get run, such as guild mod or guild admin checks.
As a result of this update and previous inaccuracies / outdated information, the documentation will be updated very soon to reflect the new additions to SnailBot and the changes made in recent updates.