Resources

/

Release Notes

Feature

v2.5.7 Release Notes

Server protection goes much further. We've added coordinated spam detection for raids run from several accounts at once, controls on invite links to other servers, a banned word list, and penalties that escalate for repeat offenders. Every penalty is kept as an individual record you can review and revoke from /cases. Role panels gain a reaction-based type driven by emoji, and can now be attached to messages that have already been posted. We've also published add-ons, so you can install only the features you need. This release also includes a per-bot time zone setting, more ways to specify colours, and improvements to earthquake information.

BotShade Team
BotShade Team

|

15 min read

|

Published: September 17, 2026

BotShade has been updated to v2.5.7. This release centres on extending server protection.

We’ve added coordinated spam detection, which catches raids where several accounts scatter the same content at once; invite link controls for links to other servers; banned word controls for words you’d rather nobody posted; and escalating penalties, which make penalties heavier for repeat offenders. Every penalty carried out is kept as an individual record, which you can review and revoke later.

Role panels have been rebuilt as well. A type driven by emoji reactions joins the line-up, and panels can now be attached to messages that have already been posted.

Alongside that, we’re shipping add-ons, so you can install only the features you need, a per-bot time zone setting, and more ways to specify colours in embeds.

If you notice anything, please do let us know from support.

Table of contents:

Highlights

  • Coordinated spam detection has been added. It catches raids in which several accounts post similar content across several channels in a short space of time, treating them as one event.
  • Invite link controls have been added. Posting an invite link to another server can now be deleted or penalised.
  • Banned word controls have been added. Register the words you don’t want used, and matching posts are deleted and penalised.
  • Escalating penalties have been added. Penalties for repeat offenders grow heavier step by step according to how many times they’ve offended.
  • Penalty records have been added. Every penalty carried out is kept as an individual record, which you can review and revoke from /cases.
  • /untimeout and /unban, which lift timeouts and bans, have been added.
  • Ghost Ping detection has been rebuilt so that nothing slips through on busy servers.
  • Role panels gain a “reaction type” driven by emoji reactions.
  • Role panels can now be attached to messages that have already been posted.
  • Panels previously shown as “reaction type” are now called “button type”. Their behaviour is unchanged.
  • Add-ons are now available. Install only the features you need on a given bot.
  • A time zone can be set for each bot.
  • Embed colours can now also be given as a colour name, at random, or from a variable.
  • The shindo map for “shindo by area” in earthquake information is now shaded in finer detail.
  • When a command can’t be run, the reason why is now shown.

Server protection goes much further

We’ve added four new features to server protection, and every existing feature’s settings can now be changed from the panel too.

These settings are configured from the protection settings panel, which you open by running /protection settings in Discord. All of the new features are added in the off state, so turn them on from the panel when you want them. Nothing about how an existing server behaves changes on its own because of the update.

Coordinated spam detection

This detects raids in which several accounts post similar content across several channels within a short space of time. Looking at a single account, this kind of raid looks like nothing more than someone posting a little too often, which is why our previous mechanisms couldn’t catch it.

You can specify the window of time to watch, the number of accounts involved, and the number of posts and channels per account. Matching considers not only the body of a message but also linked destinations, invite codes, attachments, and stickers, so it copes with padding the body with random words at the end. Links to services commonly used for sharing GIFs and videos, on the other hand, are excluded from matching by default so that ordinary conversation isn’t caught.

When it triggers, the messages concerned are deleted channel by channel and the accounts involved are penalised (a 60-minute timeout by default). Notifications are gathered into a single summary per raid, so the notifications don’t turn into a raid of their own. You can also choose to lock the whole server down automatically (off by default).

This detects Discord invite links posted in your server and can delete them or issue a penalty.

Invites to your own server are allowed by default. Invites being created and deleted is reflected immediately, so an invite link you’ve just issued won’t be deleted as belonging to another server. You can also register servers to allow by ID. Services that provide shortened invite links are covered by default as well.

The default behaviour is to delete the message only, with the penalty set to “notify only”. You can choose a timeout, a kick, or a ban instead.

Banned word controls

Register words you don’t want used in your server, and matching posts can be deleted and penalised.

There are three ways to match: partial match, word match, and regular expression. You can choose whether to ignore the difference between katakana and hiragana and whether to ignore separators such as punctuation; full-width and half-width forms are always normalised before matching. Embed text is covered too.

You can check whether a word you’ve registered really matches from “test match”, without having to post anything.

How many words you can register depends on your plan: 50 on Free, 200 on Plus, 1,000 on Pro, and 5,000 on Max. These figures also appear in the comparison table on the pricing page. Note that there is no screen in the dashboard for adding or editing banned words; please configure them from the protection settings panel.

Escalating penalties

This is a mechanism that makes penalties heavier step by step according to how many times someone has offended. You can register up to ten steps, such as “kick on the third” or “ban on the fifth”. Offences are counted from the penalty records, and you can specify the period over which they’re totalled (30 days by default).

Offences from before you turned it on are not counted. Past offences won’t all take effect the moment you enable it and jump someone straight to a heavy penalty. Revoked penalty records drop out of the count as well.

You can choose, per detection feature, whether it’s subject to escalation. A penalty is never lighter than your original setting, and a feature you’ve set to “notify only” is never quietly promoted to issuing a penalty.

Ghost Ping detection has been rebuilt

We’ve rebuilt detection for so-called Ghost Pings — posts with a mention that are deleted straight away. Until now it could only react to the recent messages the bot happened to be holding in memory, which meant that on busy servers it detected almost nothing in practice. We’ve moved to a mechanism that keeps just the information needed to make the call, so detection works no matter how much traffic flows past.

We’ve also revised how it counts. It no longer reacts to mentions of the poster themselves or of the bot, mentions added automatically when replying, references to @everyone that don’t actually send a notification, or role syntax inside code blocks. Even on the “delete only” setting it now checks who deleted the message, so it no longer names the poster in a notification about a message a moderator or another bot deleted.

On servers where you already have Ghost Ping enabled, expect the number of detections to go up. You can now set the window of time and the minimum number of mentions, so adjust them from the panel if there are too many.

More settings you can change

Anti-Nuke, Anti-Raid, Anti-Scam, mass mention, and Black Hole all had penalty details that couldn’t be changed from the screen, and they now have input fields. As well as the kind of penalty, you can specify the length of a timeout, the period of messages to delete retroactively on a ban, and so on.

Whitelist entries where you chose “all protection features” are now saved as a single entry, rather than being expanded per feature. If more protection features are added in future, you won’t need to register them again. Existing entries that have already been expanded remain valid as they are.

On top of that, changes made from the dashboard or by another administrator while you have the panel open are no longer wiped out when you save.

Penalties are now recorded

Penalties from protection features and moderation commands are now saved as individual records. A record keeps the kind of penalty, who it applied to, which feature detected it, the reason, who carried it out, and the date and time.

We’ve added /cases for reviewing and revoking them.

  • /cases list — shows a list of records, which you can filter by the person concerned or the feature that detected it
  • /cases view — shows the detail of a single record
  • /cases revoke — revokes a record; specify lift and the ban or timeout is lifted at the same time

Record numbers can be picked from the autocomplete suggestions, newest first. The same list is also available from /protection cases and from “open penalty records” in the protection settings panel.

Revoking requires the Discord permission that matches the penalty on that record (a ban record needs “Ban Members”, a kick needs “Kick Members”, and so on). If you don’t hold the permission, the revoke button is shown to you already disabled, with the permission you need spelled out on screen.

Manual penalties from /kick, /ban, /timeout and the like are recorded too. Writing the record is decoupled from the command’s response, so replies don’t get any slower.

Commands to lift timeouts and bans

  • /untimeout — lifts the timeout on a member who is timed out
  • /unban — lifts a ban; because the person isn’t in the server, specify them by user ID

Both are acts of lifting rather than penalties, so no notification DM is sent to the person concerned. Immediately after lifting, a confirmation button asking whether you’d also like to revoke the penalty record is shown.

The reason a command couldn’t run is now shown

Until now, when permission settings prevented a command from running, we showed the same wording regardless of the reason. We now tell you what specifically stopped it.

The wording varies with the situation: the command being disabled, a required Discord permission being missing (we name the permission, as in “you need the following permission to run this command: Manage Roles”), the conditions for an allowed role not being met, and so on.

For privacy, we don’t reveal for a deny list whether the entry was by user or by role, nor which role matched, and we don’t show allowed users’ IDs. The message is visible only to you, so showing a role name never sends a notification.

Note that the permission checks themselves are unchanged. What you could run before, you can still run.

Role panels have been rebuilt

A “reaction type” driven by emoji reactions

We’ve added a type in which adding an emoji reaction to a message grants a role, and removing it takes the role away. There’s no button or select menu to press, so it sits naturally alongside existing information messages.

Choose “reaction type (emoji)” under “panel type” in /rolepanel create, or switch the type from an existing panel’s settings screen. There is no plan restriction on using the reaction type.

Discord limits a single message to 20 kinds of emoji. Reactions added while the bot is down are missed, but you can bring them in afterwards from “sync reactions” on the settings screen.

Panels can be attached to messages that have already been posted

Role panels previously only worked on messages the bot had newly sent, but they can now be attached to messages already posted in your server.

Choose “existing message” as the destination on the settings screen, then right-click the message you want, choose “Copy Message Link”, and paste the URL in as it is. The bot adds emoji reactions to that message and it works as a role panel.

Because the bot can’t edit the body of a message someone else posted, the reaction type is the only type that can be attached. Detaching a panel never deletes the original message; only the reactions the bot added are removed.

Change the destination, rename, and delete from the settings screen

Operations that previously required setting the panel up again can now be carried out one after another from the settings screen.

If you rename a panel, the panel can still be looked up from commands by its old name. For panels that are already placed, a rename is reflected on the message as well.

When you delete a panel, the confirmation wording varies with how it was placed. A panel message the bot posted is deleted along with it; where it’s attached to an existing message, the original message is kept and only the bot’s reactions are removed; and where it hasn’t been placed, only the settings are deleted.

The names of the panel types are changing

We’ve tidied up what the role panel types are called. Panels previously shown as “reaction type” are called “button type” from this release. They were operated by pressing buttons, so we’ve brought the name into line with reality. “List type” has likewise become “select type”.

PreviouslyFrom v2.5.7
Reaction type (press a button)Button type
List typeSelect type
Reaction type (add an emoji; new)

This is a change of name only; existing panels behave exactly as before. There’s nothing to set up again. Do note, though, that what the phrase “reaction type” refers to has changed, so take care not to mix them up. The settings screen shows a note about the renaming, for this release only.

Note that select type, along with changes to panel mode (grant only / remove only) and automatic reaction removal, are available on the higher plans.

Add-ons let you pick only the features you need

We’ve added an “add-ons” page to the bot screens. Pick from a list of the BotShade features offered as add-ons, and install them on that bot or remove them.

For the first wave, the following five are offered as add-ons.

  • Make it a Quote
  • Message Screenshot
  • Currency Rates
  • Emoji Clone
  • Sticky Message

On a bot where an add-on isn’t installed, the feature no longer appears in the sidebar, the tabs at the top, the bar at the bottom, or search. You can run a bot with only what you need on screen. On the all-commands screen, add-ons you haven’t installed are folded into a “not installed” section and are view-only.

The page comes in two levels: a list and a detail view. The list is a set of cards showing an icon, the name, the author, a short description, and whether it’s installed, so you can see at a glance what’s available. The detail page has “overview” and “documentation” tabs, and the documentation comes with a table of contents.

Removing an add-on doesn’t delete its settings or data. Install it again and it comes back as it was. To guard against mistakes, the install and remove buttons can’t be pressed while you have unsaved changes.

All of the first-wave add-ons are free to use.

Set a time zone for each bot

Until now, reminder times were displayed and entered in Japan time and nothing else. In v2.5.7 you can set a time zone for each bot.

We’ve added a “bot time zone” item to the bot settings in the dashboard. Pick a region name such as Asia/Tokyo from a searchable selector. The selector also shows the current offset in the form “region name (UTC+09:00)”, so you can check you’ve got the region you meant.

The time zone you choose here is used when the bot interprets times for reminders and scheduled custom events. The label on the reminder input field carries the current offset, as in “time (UTC+09:00)”, and phrasing such as “9am tomorrow” is interpreted against this clock too. When you change the time zone, the next run time of your registered scheduled events is recalculated automatically.

The default is Asia/Tokyo. Bots you’ve been using are treated as Asia/Tokyo automatically even where no setting exists, so there’s no migration work to do. There’s no plan restriction either; it’s available on every plan.

/about now shows you the current time zone as well.

Colours can be specified freely

Embed colours could previously only be given as a hex value such as #FF5733, and the notations different features accepted varied subtly. In v2.5.7 we’ve unified how colours are interpreted, so the same notation works everywhere.

The dashboard input has been rebuilt too, and now offers four ways to specify a colour: “fixed colour”, “named colour”, “random”, and “variable”.

  • Named colour — pick from 40 colours such as red, blue, blurple, gold, and fuchsia by clicking a swatch
  • Random — the colour changes every time the message is sent
  • Variable — decide the colour from a value at the time, as in {User.color}. {User.color} is a new variable that returns that member’s display colour (the colour of their highest coloured role)

All four are available in “send message” and “edit message” in custom commands, and for container accent colours. The auto-responder, moderation, verification success, reminders, giveaway wins, level-ups, tickets, welcome messages, and join/leave logs offer three: “fixed colour”, “named colour”, and “random”.

The preview now makes the choice legible too. Random is shown as a multi-coloured band, and a variable that can’t be resolved is shown as a dotted outline. While you’re part-way through entering a value that can’t be read, we show “this value will not be saved”, so a broken value doesn’t get saved by accident.

Improvements to earthquake information and early warnings

The shindo map for “shindo by area” is now shaded by fine-grained subdivision. Until now, “shindo by area” couldn’t tie the names of observation points to areas on the map, so the shading stopped at a rough prefecture level. That left the preliminary “shindo report” with a finer map than the follow-up “shindo by area” — the wrong way round. Using the list of observation points published by the Japan Meteorological Agency, we’ve built a table matching 4,360 observation points nationwide to subdivisions (units such as “northern Saitama Prefecture” or “the 23 wards of Tokyo”), so we can now deliver the same level of detail as the preliminary report.

Where a single municipality spans several subdivisions, we match on observation points rather than municipalities, so an island’s shindo isn’t drawn as part of a mainland area.

We’ve also fixed a bug where information about the same earthquake was notified over and over at hourly intervals. It was more likely during quiet periods, and in some cases the same notification continued for hours. We’re sorry for the trouble. Whether something has already been delivered is no longer determined solely from a record that expires after a set time.

Alongside that, we’ve resolved a problem where a follow-up to an earthquake early warning wasn’t reflected in the original message and a second message was posted about the same earthquake. We now record which message in which server announced a given earthquake, so even across a bot restart we continue to edit the message first delivered and reflect the follow-up there.

Note that, for the same earthquake, the “shindo report” and “shindo by area” are follow-ups with different content, so we continue to deliver both as before.

Dashboard improvements

  • Where we’ve suspended a bot, you can now see its status on screen. Previously a suspended bot still showed start and restart buttons, which simply failed when pressed. We now show a panel explaining the suspension, and for the owner we set out the reason, the date and time, the deadline for an appeal, and where to get in touch. If an appeal succeeds, we lift the suspension and you can restart the bot from the dashboard afterwards. The reason and the deadline aren’t shown to anyone other than the owner.
  • The guidance on leaving (deleting your account) has been brought into line with what actually happens. We previously said that “all data is deleted one day after your request is complete”, but no such automatic deletion took place, so the guidance and the actual handling didn’t match. It now states that requesting to leave starts a 14-day grace period from the date of the request, after which the data is erased. During the grace period you can withdraw the request from the settings screen, and the service and your bots run as normal. While a request is pending, the screen shows the deadline as a date: “your grace period runs until ”.
  • You can now make a bot leave a server from the server list. We’ve added a “leave” button to each server’s card. Pressing it opens a confirmation showing the server’s name and the warning “you will need to invite the bot again to rejoin”. The “settings” button that previously sat in this position only ever returned you to the same screen, so it had no purpose; this replaces it.
  • The backup review screen now lets you inspect channel and role details. Click a channel, category, or role in the list and the permission overwrites configured on it are listed by permission name, for each role or member concerned. Previously you could only see how many overwrites there were, not what was set and how. Details such as the topic, slow mode, and whether it’s age-restricted are available on the same screen.
  • The limit on blocks you can add in the builder has been raised. It was a flat 100; now it is 150 on the free plan, and 200, 300, and 500 on the plans above that. Commands and custom events each have their own limit.
  • “Verification” has been folded into the Verification System inside server protection. Verification settings had already been taken into server protection some time ago, but a standalone “verification” module page remained, which always showed as disabled when opened. We’ve removed that page and taken the entry out of the module list too. Opening the old URL now redirects to the server protection page, so any bookmarks you have still work.
  • The metric in the bot list has changed from “P95” to a count of events. The metric at the top of the screen shows the total event count across all your bots, and the column in the table becomes “events” as well. The column can be sorted on. In the usage panel, the event count that always read 0 now shows the actual figure.
  • Bots stopped automatically after a long spell of disuse are now explained as a stop, not a failure. Bots that go unused for roughly five days are stopped automatically, but until now that automatic stop was treated as a “start failure” and shown in red. From this release we show the heading and explanation “stopped because it went unused for a period”. Start it again and you can carry on as before.
  • Bot status is now shown consistently as “stopped”. The wording wandered between “paused” and “pausing” depending on the screen. In addition, while a start, stop, restart, or force stop is in progress, all of those buttons are disabled. This prevents a second action being pressed on top of one already running and leaving the bot in a state you didn’t intend.
  • Closing a ticket now offers two choices. This used to be an on/off switch, when in reality close and delete are two equal options. We now show “close (archive and keep it)” and “delete (remove the channel entirely)” side by side, so you can read what each one does before choosing.
  • We’ve tidied up the explanatory text on the settings screens. A great many descriptions did nothing but restate the name of the item, burying the notes you actually need to read — plan restrictions, units, defaults, and unexpected side effects. We’ve reviewed the text across all 21 modules and kept only what conveys a condition, a unit, a limit, or a side effect you couldn’t work out by looking. In join/leave logs, the destination channel and the embed editor are now collapsed while log output is disabled.
  • The layout and headings of the bot settings screen have been tidied up. The “time since last update” on the running state has moved below the state label, and the profile settings and status settings are now in a single section. Opening and closing the AI panel no longer animates the body slowly; it happens immediately.
  • Soft animations have been added to toggling the sidebar and opening and closing menus. If you have reduced-motion settings enabled at the OS level, such as “reduce motion”, these animations don’t play.
  • We’ve reviewed the screen shown while you’re signing in. We’ve added a progress bar along the top edge of the card, which shows how far the process has got and uses colour to indicate success or failure. We’ve also fixed the success and failure icons blending into the background and becoming hard to see in the light theme. Changes of state on the screen are now announced by screen readers.
  • We’ve removed the “tools” entry, which sat in the sidebar without being clickable. “Priority hosting”, which was shown in the same unclickable state, is now hidden until it’s ready to launch.
  • We’ve stopped showing some logos in the AI model list and picker. We found that, for some providers, displaying their logo in another company’s product isn’t permitted under their brand guidelines. We’ve replaced them with a common robot icon. This retracts what we announced in v2.5.6 as “the model list and the current selection now show the logo of the company that makes the model”, and we’re sorry to change it so soon after announcing it. Only the icon changes: model names, descriptions, which models you can choose, and how they behave are all unchanged.

Bug fixes

Role panels

  • Fixed a panel name containing a half-width : sometimes causing a different role to be targeted than the button you pressed. The cause was that the panel name was part of how buttons were identified. Panels are now handled by an internal ID rather than by name. Panels already placed continue to work as before, and are replaced with the new format in turn after the bot starts. There’s nothing to set up again.
  • Fixed a role panel not responding and leaving “thinking…” on screen. It happened when the behaviour settings held an unexpected value; from now on we reply explaining that there’s a problem with the settings and what to do about it.
  • Resolved a problem where saving settings could leave a placed panel unresponsive. Saving from the dashboard could cause an existing panel to be recreated.
  • Fixed being able to save a type or behaviour the bot doesn’t support. A panel saved in that state simply didn’t respond once placed. We’ve reduced the options to the values the bot actually interprets.
  • Fixed changes made by another route while the settings screen is open being reverted. Only the items you changed are saved now.

Protection features

  • Fixed channels locked by Anti-Raid’s automatic lockdown not being unlocked by /lockdown enabled:False. Manual and automatic locking now refer to the same record.
  • Fixed the Black Hole grace period being reset when the bot restarts. It also resolves the state where repeated posts in a forbidden channel produced warning after warning without a penalty ever being issued.
  • Fixed a DM saying action had been taken arriving when Black Hole hadn’t in fact acted. The notification was being sent before the penalty was carried out, so a DM saying “action has been taken” arrived even where the penalty didn’t actually happen, for example because the bot lacked the permission.
  • Fixed Anti-Nuke targeting the bot itself. Anti-Nuke also no longer mistakenly detects the bot’s own bulk actions while it’s dealing with a raid.
  • Fixed penalties and records being created once per post when posts come in quick succession. Where a single message matches several protections, the penalty record is a single one, with the features that detected it together kept in the record and the notification.
  • Resolved the last few seconds of protection logs being lost every time the bot restarted. Posts inside threads now follow the parent channel’s exclusion settings.

Commands and settings

  • Fixed the execution permissions you configure not applying to the role retention and earthquake early warning commands. The cause was that these commands alone checked permissions on their own, so enabling a permission override had no effect. They now go through the same checks as every other command, and what you configure applies as set.
  • Fixed sticky messages continuing to be reposted after the feature is turned off. Where per-channel settings remained, a repost happened on every message.
  • Fixed a calculation being replied with once per person when several people press the confirmation reaction on the same formula.
  • Fixed an embed created in the dashboard vanishing rather than being attached to the message. Where the colour was given as a colour name, for instance, the bot couldn’t read it and the embed alone was silently stripped out.
  • Fixed the date and time set for “run once” on a custom event being nine hours out. The cause was that the time you entered was being sent as Coordinated Universal Time. Dates and times already saved may be out, so if this might affect you, please open the screen and check.
  • Fixed “you don’t have any bots yet” being shown when the bot list fails to load. We now show “we couldn’t load your bot list” along with a “reload” button.
  • We’ve tidied up how listings by authors who have left are shown in the marketplace. The author is shown as “deleted user” and we no longer link to an author page that doesn’t exist. In the installed list we no longer show the “update” button: because a listing becomes private when its author leaves, running an update would simply lose the copy you’d installed.
  • Fixed a failed email sign-up producing the same technical error message regardless of the cause. The guidance now reflects what actually went wrong.
  • Signing in with a passkey or a recovery code is now recorded correctly as the device you’re using.
  • We’ve fixed a batch of wording errors. These cover places where the module name was shown as “Levelring” (it is Levelling), where the calculator’s trigger condition was described as “ends with =” (it is in fact starts with =), where the emoji clone command was shown as /emoji clone, which doesn’t exist (it is /emoji-clone), guidance left in the time zone settings that didn’t match the facts, and the description of a command’s “enable individual permission settings” contradicting the actual order of evaluation.
  • The default embed colour differed between the settings screens for levelling and the server board (ShadeBoard) and the bot itself. We’ve aligned them on #5865F2, the same as the bot. If you’ve already set a colour, your setting is used as it is.

Compatibility

The bots and command definitions you’ve been using continue to work in v2.5.7. No migration is required. All of the new protection features are added in the off state, so enable them from /protection settings when you want them.

Please check the following seven changes.

  • The names of the role panel types are changing. Panels previously shown as “reaction type” become “button type”, and “list type” becomes “select type”. The new “reaction type” refers to emoji-based panels. Behaviour and settings values are unchanged.
  • The field for typing a message ID by hand has gone from the role panel settings screen. To attach a panel to an existing message, specify the message’s URL.
  • The settings for /rolepanel delete disappear from the dashboard. This removes only the settings for a command that was never implemented. Deleting a panel is done from the settings screen.
  • The standalone “verification” module page is being retired. You’ll be redirected to the server protection page automatically, so your bookmarks still work.
  • The “P95” figure disappears from the bot list. An event count is shown instead. If your sort was set to “P95”, it becomes “events”.
  • On servers with Ghost Ping enabled, the number of detections will go up. That’s because posts that previously slipped through are now caught. If there are too many, adjust the conditions from the protection settings panel.
  • For monthly recurring reminders, the basis for rounding end-of-month dates changes. We now use the date in the bot’s time zone rather than Coordinated Universal Time. Even on Asia/Tokyo, the next run time for a recurrence set near the end of a month may differ from before by a day.

The AI model logos announced in v2.5.6 have been retracted, as described under Dashboard improvements.

Support and community

For questions, bug reports, or feature requests, please reach us at any of the following:

Thank you for using BotShade.