Skip to content

FusionBot v8.3.4

Choose a tag to compare

@Secludedly Secludedly released this 17 Aug 03:05
· 8 commits to main since this release

Slash Command Support + Message Content Intent Workarounds

Discord is removing the Message Content intent on bots, which is what lets the bot read what people type in chat. Without it, every $command stops working. This commit adds two new ways to talk to the bot so nothing breaks, without changing how the bot works.

The existing message commands are untouched. No prefix command was rewritten, removed, or changed in behavior. Everything added here runs alongside them, so this is simply an addition. Nothing removed.


Three Ways to Send Commands

  1. Message commands — $trade, $clone, etc. Work exactly as before. These stop working when Discord removes the Message Content intent.

  2. Mention commands — @Yourbot trade. Discord still lets the bot read messages that mention it directly, so this keeps all existing commands working after the intent is gone. It's off by default, so enable it in the Hub. Roles and permissions work exactly the same.

  3. Slash commands — /trade, /clone, etc. Typing / shows the full list with descriptions, dropdowns, and autocomplete. Never affected by the intent removal.

Staff commands (Queue Management, Admin Tools, Switch Control, Bot Management, Echo & Logging, Permissions & Guild) were not converted to slash commands. They keep working through mention commands, so there's nothing new to learn and nothing to maintain twice. At least for now.


New Hub Settings

Two new entries under Startup, both translated into all 9 supported languages:

  • Allow @Mention Prefix — turns on mention commands. Default off. Turn this on before the intent is removed, or message commands will stop working with no fallback.
  • Slash Command Server ID — optional. Leave blank and slash commands register globally, which can take up to an hour to show up. Put a server ID in and they appear instantly in that one server, which is useful while testing. Note that setting it means slash commands only work in that server until you clear it again.

Slash Commands Added (48 total)

Standard Trading

  • /trade — Trade a Pokémon from a Showdown set or an uploaded PKM file
  • /hidetrade — Same, but nothing shows in the channel
  • /egg — Trade an egg
  • /itemtrade — Trade a Pokémon holding a requested item
  • /clone — Clone a Pokémon you show the bot
  • /dump — Dump a Pokémon you show the bot
  • /fixot — Fix OT and nickname if an advert is detected
  • /create — Guided Pokémon builder with dropdowns

Mystery / PokePaste / Ditto

  • /mysteryegg — A random shiny 6IV egg
  • /mysterymon — A completely random Pokémon
  • /pokepaste — Build a team from a PokePaste link, sent by DM
  • /dittotrade — A Ditto with your chosen IVs, language, nature and shininess

Batch Trading

  • /batch trade — Several Pokémon from sets separated by ---
  • /batch zip — Several Pokémon from a .zip/.rar/.7z of PKM files
  • /batch mysteryegg — Several random eggs at once
  • /batch mysterymon — Several random Pokémon at once
  • /batch item — The same held item several times over

TXT Trading

  • /texttrade upload — Upload a .txt/.csv/.rtf/.docx/.pdf of Showdown sets
  • /texttrade view — Preview one set from your file
  • /texttrade trade — Trade one set, or several at once like 1 3 5
  • /textview — Same as /texttrade view

File Libraries

  • /events list / /events request — Browse and request event files
  • /battleready list / /battleready request — Browse and request battle-ready files
  • /homeready list / /homeready request — Browse and request HOME-ready files
  • /wondercard list / /wondercard request / /wondercard download — Browse the mystery gift database, queue an event, or get it as a file

Legality Tools

  • /convert — Turn a Showdown set into a RegenTemplate
  • /legalize — Try to legalize an uploaded PKM file
  • /validate — Check an uploaded PKM file for legality
  • /verbose — Same check with detailed output

Queue and Account

  • /queue clear — Remove yourself from the queue
  • /queue status — Check your position
  • /changetradecode — Change your stored trade code
  • /deletetradecode — Delete your stored trade code
  • /myinfo — Your profile card

General

  • /help — Full command list, sorted into categories
  • /info — Bot information
  • /hello — Say hello
  • /joke — Random joke

Pop-Up Boxes for Showdown Sets

Discord's slash command boxes are single-line, which is awkward for Showdown sets. Four commands now open a proper multi-line pop-up when you run them without filling anything in (like pressing ENTER without selecting anything):

  • /trade
  • /hidetrade
  • /egg
  • /batch trade

Example: https://i.imgur.com/6VHev59.png

Paste your full set, optionally add a trade code, hit submit. Batch commands go straight in the set as usual.

Pasting also just works. If you paste a full Showdown set into the single-line box, Discord flattens it onto one line. The bot now rebuilds the line breaks automatically, so this:

Bluey (Garchomp) (F) Ability: Sand Veil Alpha: Yes Serious Nature IVs: 31 HP / 6 Atk ...

...turns back into a proper multi-line set before it's processed. Handles nicknames, hyphenated names like Porygon-Z and Double-Edge, two-word entries like Tera Type and Met Location, and batch commands like .MetDate= and ~=Version=.


Other Improvements

Fixed: All six game-specific builders were showing up on every bot regardless of which game it runs. A Scarlet/Violet bot listed /create-swsh, /create-bdsp, and four more — all of which silently produced the wrong file type with no error. Now only the correct one registers, shown simply as /create.

Fixed: All five ($homeready, $hrl, $hrr, $hrv, $hrd) commands were written in a way Discord.Net skips over, so they were never actually registered. They now work as message commands, and list/request also have slash versions.

Slash commands now respect your ban list and channel whitelist. The existing /create-* commands had no such checks, so banned users could still use them and the channel whitelist was ignored. Every new slash command enforces bans, blocked users, channel whitelist, and where relevant the queue role and queue-open setting.

Item autocomplete follows the game. /itemtrade and /batch item suggest items valid for whichever game the bot is running.

/help builds itself. It reads the live command list rather than a hand-written one, so it can never fall out of date as commands are added.


Notes

  • Slash replies are mostly private, so the channel stays pretty clean. Trade embeds still post publicly as before, however.
  • /hidetrade is fully private now, seen only by the user.
  • Trade codes are never posted in a channel; /changetradecode and /deletetradecode reply privately.
  • /pokepaste sends the PKM files as a zip but skips the combined team picture the message version makes, since that part is Windows-only.