{"id":34600321,"url":"https://github.com/secludedly/ze-fusionbot","last_synced_at":"2026-04-01T19:03:04.157Z","repository":{"id":292471695,"uuid":"802655929","full_name":"Secludedly/ZE-FusionBot","owner":"Secludedly","description":"SysBot.NET w/ a gorgeous UI, the most features possible, and constant updates","archived":false,"fork":false,"pushed_at":"2026-01-16T01:14:53.000Z","size":212594,"stargazers_count":24,"open_issues_count":0,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T16:40:58.312Z","etag":null,"topics":["discord","discord-bot","fusionbot","pkhex","pkhex-plugins","pokemon","pokemon-showdown","sysbot","ze-fusionbot"],"latest_commit_sha":null,"homepage":"https://FreeMons.Org","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Secludedly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://ko-fi.com/secludedly","https://bit.ly/3lOXg7l","https://venmo.com/u/SecSteve","https://cash.app/$Secludedly","https://lh3.googleusercontent.com/d/12hKynIu6LgUCxdAdSelkjFz-rp2ZFauI=w1000?authuser=0"]}},"created_at":"2024-05-18T22:28:22.000Z","updated_at":"2026-01-17T20:50:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"4554a0be-06bb-4e79-a2ec-64c52d5f7eb0","html_url":"https://github.com/Secludedly/ZE-FusionBot","commit_stats":null,"previous_names":["secludedly/ze-fusionbot"],"tags_count":132,"template":false,"template_full_name":null,"purl":"pkg:github/Secludedly/ZE-FusionBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Secludedly%2FZE-FusionBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Secludedly%2FZE-FusionBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Secludedly%2FZE-FusionBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Secludedly%2FZE-FusionBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Secludedly","download_url":"https://codeload.github.com/Secludedly/ZE-FusionBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Secludedly%2FZE-FusionBot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28658899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord","discord-bot","fusionbot","pkhex","pkhex-plugins","pokemon","pokemon-showdown","sysbot","ze-fusionbot"],"created_at":"2025-12-24T12:35:33.647Z","updated_at":"2026-01-27T07:08:27.410Z","avatar_url":"https://github.com/Secludedly.png","language":"C#","funding_links":["https://ko-fi.com/secludedly","https://bit.ly/3lOXg7l","https://venmo.com/u/SecSteve","https://cash.app/$Secludedly","https://lh3.googleusercontent.com/d/12hKynIu6LgUCxdAdSelkjFz-rp2ZFauI=w1000?authuser=0"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003ca href=\"https://amplication.com/#gh-light-mode-only\"\u003e\n    \u003cimg src=\"https://i.imgur.com/0HWW0te.png\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://amplication.com/#gh-dark-mode-only\"\u003e\n    \u003cimg src=\"https://i.imgur.com/0HWW0te.png\"\u003e\n    \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003e ⚠️ **Font Notice:** If the program's fonts are not displaying properly for you, download them [here](https://github.com/Secludedly/ZE-FusionBot/blob/main/.extra/Fonts.7z) and install them on your machine.\n\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eA community-driven and inspired SysBot.NET project with the most beautiful GUI that unites code from everyone, supporting LGPE, SWSH, BDSP, PLA, SV, and PLZA!\u003c/i\u003e\n\u003c/p\u003e\n\u003ch3 align=\"center\"\u003e\n  Visit \u003ca href=\"https://FreeMons.Org\"\u003eFreeMons.Org\u003c/a\u003e to join Zeraora's Emporium!\n\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://visitor-badge.laobi.icu/badge?page_id=Secludedly.ZE-FusionBot\" alt=\"Visitors\"\u003e\n\u003c/p\u003e\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"https://FreeMons.Org\"\u003e\n    \u003cimg src=\"https://i.imgur.com/wbWzI2u.png\" alt=\"discord\" style=\"height: 20px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://ko-fi.com/secludedly\"\u003e\n    \u003cimg src=\"https://i.imgur.com/nDO4SgL.png\" alt=\"ko-fi\" style=\"height: 20px;\"\u003e\n  \u003c/a\u003e\n\u003c/h4\u003e\n\n---\n\n## 🚀 Introduction\n\n`ZE FusionBot` is a powerful and open-source SysBot.NET fork, initially tailored for the Discord server [Zeraora's Emporium](https://FreeMons.Org). While originally built for internal server use, it has transformed into a beautiful, community-powered GUI with dozens of integrated forks and unique enhancements, catering to every Nintendo Switch Pokémon game.\n\n---\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://i.imgur.com/zJF8VmN.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\n## 🧬 Community Roots \u0026 Inspirations\n\n\u003e **ZE FusionBot is a fusion by design — built from years of shared ideas, forks, experiments, and respect for the SysBot.NET ecosystem.**\n\nZE FusionBot was created, inspired, and upgraded through time, in pieces, through a collaboration of multiple developers of all skill levels with bright ideas and a hobby. There's many I know, and many I don't know, but I have respect and appreciation for them all. If they didn't inspire or help, simply diving into their code and learning C# over the years through their contributions helped me get to this point to continue to refine ZE FusionBot and is also what allowed this project to grow into one of - if not *the best* SysBot program to date, in large to **[@hexbyt3's](https://github.com/hexbyt3)** **[PokeBot](https://github.com/hexbyt3/PokeBot)**, another contender as *the best* SysBot.\n\nThe projects below represent **the strongest influences** in the SysBot.NET space and the inspiration behind calling this a **Fusion** bot.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🧬 Click to view credits \u0026 inspirations\u003c/strong\u003e\u003c/summary\u003e\u003cbr /\u003e\n\n### 🧬 Foundational Projects\n\n- **[SysBot.NET](https://github.com/kwsch/SysBot.NET)**  \n  Created by **[@kwsch](https://github.com/kwsch)** — also the creator of PKHeX.  \n  *The origin of everything.*\n\n- **[ForkBot.NET](https://github.com/Koi-3088/ForkBot.NET)**  \n  Developed by **[@Koi-3088](https://github.com/Koi-3088)**.  \n  One of the earliest and most influential forks. TradeCord will never be forgotten.\n  Somewhat of a friend for a while, but it's been many years, yet his talent had me learn so much.\n\n- **[SysBot.NET (berichan fork)](https://github.com/berichan/SysBot.NET)**  \n  An insightful and clever fork by **[@berichan](https://github.com/berichan)** that helped shape many later ideas.\n  Many years ago, I'd take and modify beri's work to learn more about C#.\n\n- **[SysBot.NET (Lusamine fork)](https://github.com/Lusamine/SysBot.NET)**  \n  A respected fork that stayed close to the original vision, maintained by **[@Lusamine](https://github.com/Lusamine)**.\n\n- **[SysBot.NET (santacrab fork)](https://github.com/santacrab2/SysBot.NET)**  \n  A long-followed fork by **[@santacrab2](https://github.com/santacrab2)** — a brilliant developer and dear local friend.\n\n---\n\n### 🔧 Evolutionary \u0026 Community-Driven Bots\n\n- **[MergeBot](https://github.com/Paschar1/MergeBot)**  \n  Originally created by **[@bakakaito](https://github.com/bakakaito)** (now offline), possibly preserved by **[@Paschar1](https://github.com/Paschar1)**.  \n  One of the first major user-driven evolutions of SysBot.\n\n- **[PokeBot](https://github.com/hexbyt3/PokeBot)**  \n  Created by **[@hexbyt3](https://github.com/hexbyt3)**, a brilliant friend of mine — and the **primary foundation of ZE FusionBot**.  \n  Much of FusionBot’s structure, philosophy, and stability originates here, alongside deep collaboration and shared ideas between repos.\n\n---\n\n### 🚀 Additional Inspirations\n\n- **[SysBot.NET (easyworld fork)](https://github.com/easyworld/SysBot.NET)** — by **[@easyworld](https://github.com/easyworld)**\nA fork I've followed for some time that's given me inspiration in the past\n- **[ManuBot.NET](https://github.com/Manu098vm/ManuBot.NET)** — by **[@Manu098vm](https://github.com/Manu098vm)**\nA fork I've been following for update inspiration with great C# knowledge\n- **[ManuBot.NET (9B1td0 fork)](https://github.com/9B1td0/ManuBot.NET)** — by **[@9B1td0](https://github.com/9B1td0)**\nI believe this is a fork of ManuBot.NET but seems almost collaborated with the original.\n- **[DudeBot.NET](https://github.com/Havokx89/DudeBot.NET)** — by **[@Havokx89](https://github.com/Havokx89)**\nA fun and fused iteration combining a lot of ZE FusionBot that I follow for various integration ideas.\n- **[ZenBot.NET](https://github.com/Omni-KingZeno/ZenBot.NET)** — by **[@Omni-KingZeno](https://github.com/Omni-KingZeno)**\nA fork of ManuBot.NET that I follow and quite enjoy getting inspiration from. Plus, great bot name and username. I'm a DBtard.\n- **[TradeBot](https://github.com/jonklee99/Tradebot)** — by **[@jonklee99](https://github.com/jonklee99)** with **[@joseph11024](https://github.com/joseph11024)**\nCreated by a good friend that tends to use their own ideas that I've happily borrowed from before.\n- **[ZE-FusionBot (Taku1991 fork)](https://github.com/Taku1991/ZE-FusionBot)** — by **[@Taku1991](https://github.com/Taku1991)**.  \nAn independently evolved fork that shares ideas, structure, and inspiration within the ZE FusionBot ecosystem that I myself have proudly borrowed from.\n\n\n\u003c/details\u003e\n\n---\n\n## ✨ Highlights\n\n- One-click Game Restart, Hot Reload, and Updater.\n- Support for batch trades via Showdown format or .zip archives.\n- Mystery Pokémon and Eggs, Battle-Ready, HOME-Ready, and Event Pokémon trading modules.\n- Full GUI control for SysDVR and Switch Remote for PC integration.\n- Smart Auto-Correct and Auto-Legalization.\n- DM embeds with GIFs, Channel Status notifications, Announcement System, Keyword Response.\n- Built-in metrics: Queue tracking, trade counters, medal system.\n- Multi-Language request support.\n- Live/Real-time log searches.\n- Read user DMs sent to the bot.\n\n---\n\n## 🖥️ GUI Features\n\n- Animated, hover-responsive panel buttons for Bots / Hub / Logs.\n- Color-coded UI themes: blue-purple primary, themed subpanels.\n- Fully redesigned icons, fonts, buttons, and layout.\n- Bot controller with sections for Address, Status, Trade Type, and Log time.\n- No native window titlebars — drag by top panel. Minimal, modern design.\n- Animated glow around controller buttons to indicate their use.\n- Progress bar in the controller that shows a visual glow during the trade process.\n\n\n---\n\n## 🖼️ GUI Previews\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://i.imgur.com/VZ2oeOy.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_GeneralOverlook2.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_Environment2.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_Reload2.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_Themes2.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_Starting2.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_Update2.gif\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/p\u003e\n\n---\n\n## 🎥 GIF Previews\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003e🎮 GIFS\u003c/strong\u003e\u003c/summary\u003e\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c!-- Row 1 --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cstrong\u003eSwitch Remote for PC\u003c/strong\u003e\u003cbr /\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_SwitchRemoteForPC.gif\" alt=\"Switch Remote for PC\" width=\"100%\" /\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cstrong\u003eSysDVR\u003c/strong\u003e\u003cbr /\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_SysDVR.gif\" alt=\"SysDVR\" width=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\n\u003c!-- Row 2 --\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cstrong\u003eBatch Trading Archives\u003c/strong\u003e\u003cbr /\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_BatchArchive.gif\" alt=\"Batch Trading Archives\" width=\"100%\" /\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cstrong\u003eBatch Trading Showdown\u003c/strong\u003e\u003cbr /\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_BatchShowdown.gif\" alt=\"Batch Trading Showdown\" width=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\n\u003c!-- Row 3 --\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cstrong\u003ePeek \u0026 Video Feature\u003c/strong\u003e\u003cbr /\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_Peek+Video.gif\" alt=\"Peek \u0026 Video Feature\" width=\"100%\" /\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cstrong\u003eMystery Mon\u003c/strong\u003e\u003cbr /\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Secludedly/ZE-FusionBot/main/.readme/README_MysteryMon.gif\" alt=\"Mystery Mon\" width=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n---\n\n## 🖼️ Image Previews\n\n\u003cdetails open\u003e\n\u003csummary\u003e\n IMAGES\n\u003c/summary\u003e \u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/hsh43rt.png\" alt=\"img1\"/\u003e\n\u0026nbsp;\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/lWkBXLi.png\" alt=\"img2\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/pMdWfcT.png\" alt=\"img3\"/\u003e\n\u0026nbsp;\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/rdOq4M7.png\" alt=\"img4\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/eWmTGCI.png\" alt=\"img5\"/\u003e\n\u0026nbsp;\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/SPe1iOa.png\" alt=\"img6\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"49%\" src=\"https://i.imgur.com/Xn1IMJ6.png\" alt=\"img7\"/\u003e\n\u0026nbsp;\n\t\u003cimg width=\"49%\" src=\"https://i.imgur.com/N9n5jva.jpeg\" alt=\"img8\"/\u003e\n\u003c/p\u003e\n\u003c/details\u003e\n\n---\n\n# 📖 Command Reference\n\n## ⚡ Basic Commands\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `trade` | t | Trade a Pokémon from Showdown Set or PKM file. | `trade \u003cShowdown Format\u003e` or `\u003cupload pkm\u003e` | Everyone |\n| `trade true` | t true | Trade a Pokémon from a PKM file, without AutoOT | `trade true \u003cupload pkm\u003e` | Everyone |\n| `tradeUser` | tu, tradeOther | Trade the mentioned user the attached file. | `tradeuser @user` | Everyone |\n| `hidetrade` | ht | Same as trade, but hides the embed. | `hidetrade \u003cShowdown Format\u003e` | Everyone |\n| `clone` | c | Clone the Pokémon you show via Link Trade. | `clone` | Everyone |\n| `dump` | d | Dump the Pokémon you show via Link Trade. | `dump` | Everyone |\n| `egg` | Egg | Trade an egg via provided Pokémon set. | `egg \u003cShowdown Format\u003e` | Everyone |\n| `seed` | checkMySeed, checkSeed, seedCheck, s, sc | Check a Pokémon seed. | `seedCheck` | Everyone |\n| `itemTrade` | it, item | Trade a Pokémon holding a requested item. | `it \u003cLeftovers\u003e` | Everyone |\n| `fixOT` | fix, f | Fix OT and Nickname of a Pokémon if an advert is detected. | `fixOT` | Everyone |\n| `convert` | showdown | Convert a Showdown Set to RegenTemplate. | `convert \u003cset\u003e` | Everyone |\n| `legalize` | alm | Attempt to legalize PKM data. | `legalize \u003cpkm\u003e` | Everyone |\n| `validate` | lc, check, verify | Verify PKM legality. | `validate \u003cpkm\u003e` | Everyone |\n| `verbose` | lcv | Verify PKM legality with verbose output. | `verbose \u003cpkm\u003e` | Everyone |\n| `findFrame` | ff, GetFrameData | Prints next shiny frame from seed. | `findFrame \u003cseed\u003e` | Everyone |\n| `deleteTradeCode` | dtc | Deletes the stored Link Trade Code for the user. | `dtc` | Everyone |\n| `changeTradeCode` | ctc | Change your stored Link Trade Code. | `ctc 12345678` | Everyone |\n\n## 🎯 Advanced Trade Features\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `textTrade` | tt, text | Upload a .txt/.csv of Showdown sets for batch trading. | `tt \u003cupload .txt/.csv file\u003e` | Everyone |\n| `textView` | tv | View a specific Pokémon from your pending TextTrade file. | `tv 2` | Everyone |\n| `listEvents` | le | Lists available event files via DM. | `le \u003cspecies\u003e \u003cpage2\u003e` | Everyone |\n| `eventRequest` | er | Downloads event attachments and adds to trade queue. | `eventRequest \u003cfile\u003e` | Everyone |\n| `battleReadyList` | brl | Lists available battle-ready files via DM. | `brl \u003cspecies\u003e \u003cpage2\u003e` | Everyone |\n| `battleReadyRequest` | br, brr | Downloads battle-ready attachments and adds to trade queue. | `battleReadyRequest \u003cfile\u003e` | Everyone |\n| `pokepaste` | pp, Pokepaste, PP | Generates a team from a PokePaste URL. | `pp \u003cURL\u003e` | Everyone |\n| `dittoTrade` | dt, ditto | Trade a Ditto with requested stats, language, and nature. | `dt \u003cLinkCode\u003e \u003cIVToBe0\u003e \u003cLang\u003e \u003cNature\u003e` | Everyone |\n| `mysteryegg` | me | Get a random shiny 6IV egg. | `mysteryegg` | Everyone |\n| `mysterymon` | mm, mystery, surprise | Get a fully random Pokémon. | `mysterymon` | Everyone |\n| `randomTeam` | rt, RandomTeam, Rt | Generates a random team. | `randomTeam` | Everyone |\n| `homeReady` | hr | Displays instructions for HOME-ready trading. | `homeReady` | Everyone |\n| `homeReadyRequest` | hrr | Downloads HOME-ready files and adds to trade queue. | `homeReadyRequest \u003cnumber\u003e` | Everyone |\n| `homeReadylist` | hrl | Lists available HOME-ready files. | `homeReadylist` | Everyone |\n| `specialRequest` | sr, srp | Lists Wondercard events or requests specific ones. | `srp \u003cgame\u003e \u003cpage2\u003e` | Everyone |\n| `getEvent` | ge, gep | Downloads the requested event as a PKM file. | `getEvent \u003ceventID\u003e` | Everyone |\n\n## 📦 Batch Trading\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `batchTrade` | bt | Trade multiple Pokémon (max 6) from a list. | `bt \u003cSet1\u003e --- \u003cSet2\u003e` | Everyone |\n| `batchTradeZip` | btz | Trade multiple Pokémon from a ZIP file. | `btz \u003cfile.zip\u003e` | Everyone |\n| `batchInfo` | bei | Get info about a batch property. | `batchInfo \u003cprop\u003e` | Everyone |\n| `batchValidate` | bev | Validate a batch property. | `batchValidate \u003cprop\u003e` | Everyone |\n\n## 📊 Queue Management\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `queueMode` | qm | Change queue control (manual/threshold/interval). | `qm manual` | Everyone |\n| `queueClearAll` | qca, tca | Clear all users from all queues. | `qca` | Sudo, Owner |\n| `queueClear` | qc, tc | Remove yourself from the queue. | `qc` | Everyone |\n| `queueClearUser` | qcu, tcu | Clear a specified user (sudo required). | `qcu @user` | Sudo, Owner |\n| `queueStatus` | qs, ts | Check your position in the queue. | `qs` | Everyone |\n| `queueToggle` | qt | Enable/disable queue joining. | `qt` | Sudo, Owner |\n| `queueList` | ql | DM the full queue list. | `ql` | Sudo, Owner |\n| `tradeList` | tl | Show users currently in trade queue. | `tl` | Sudo, Owner |\n| `fixOTList` | fl, fq | Prints the users in the FixOT queue. | `fixOTList` | Sudo, Owner |\n| `cloneList` | cl, cq | Prints the users in the Clone queue. | `cloneList` | Sudo, Owner |\n| `dumplist` | dl, dq | Prints the users in the Dump queue. | `dumplist` | Sudo, Owner |\n| `seedList` | sl, scq, seedCheckQueue, seedQueue, seedList | Show seed check queue users. | `seedList` | Sudo, Owner |\n\n## 🛠 Admin Tools\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `addSudo` | — | Add a user to global sudo. | `addSudo \u003cID\u003e` | Owner |\n| `removeSudo` | — | Remove a user from global sudo. | `removeSudo \u003cID\u003e` | Owner |\n| `blacklistServer` | bls | Adds a server ID to the server blacklist. | `blacklistServer \u003cID\u003e` | Sudo, Owner |\n| `unblacklistServer` | ubls | Removes a server ID from the server blacklist. | `unblacklistServer \u003cID\u003e` | Sudo, Owner |\n| `blacklist` | — | Blacklist a Discord user. | `blacklist @user` | Sudo, Owner |\n| `unblacklist` | — | Remove a user from blacklist. | `unblacklist @user` | Sudo, Owner |\n| `blacklistId` | — | Blacklist Discord user IDs. | `blacklistId \u003cID\u003e` | Sudo, Owner |\n| `unBlacklistId` | — | Unblacklist Discord user IDs. | `unBlacklistId \u003cID\u003e` | Sudo, Owner |\n| `blacklistComment` | — | Adds comment for blacklisted user. | `blacklistcomment \u003cID\u003e \u003cmsg\u003e` | Sudo, Owner |\n| `banTrade` | bant | Ban a user from trading with reason. | `bant @user \u003creason\u003e` | Sudo, Owner |\n| `banID` | — | Ban an online user ID. | `banID \u003cID\u003e` | Sudo, Owner |\n| `unbanID` | — | Unban an online user ID. | `unbanID \u003cID\u003e` | Sudo, Owner |\n| `bannedIDComment` | — | Adds a comment for banned ID. | `bannedIDcomment \u003cID\u003e \u003cmsg\u003e` | Sudo, Owner |\n| `bannedIDSummary` | printBannedID, bannedIDPrint | Show list of banned IDs. | `bannedIDSummary` | Sudo, Owner |\n| `blacklistSummary` | printBlacklist, blacklistPrint | Show list of blacklisted users. | `blacklistSummary` | Sudo, Owner |\n\n## 🎮 Switch Control\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `click` | — | Click a button on the Switch. | `click \u003cIP\u003e \u003cButton\u003e` | Sudo, Owner |\n| `setStick` | — | Move stick to coordinates. | `setStick \u003cIP\u003e \u003cCoords\u003e` | Sudo, Owner |\n| `setScreenOn` | screenOn, scrOn | Turn on screen. | `setScreenOn` | Sudo, Owner |\n| `setScreenOff` | screenOff, scrOff | Turn off screen. | `setScreenOff` | Sudo, Owner |\n| `setScreenOnAll` | screenOnAll, scrOnAll | Turn on screen for all bots. | `setScreenOnAll` | Sudo, Owner |\n| `setScreenOffAll` | screenOffAll, scrOffAll | Turn off screen for all bots. | `setScreenOffAll` | Sudo, Owner |\n| `peek` | repeek | Take and send a screenshot. | `peek` | Sudo, Owner |\n| `video` | Video | Record a GIF from the Switch. | `video` | Sudo, Owner |\n| `startSysdvr` | dvrstart, startdvr, sysdvrstart, dvr, stream | Start SysDVR streaming. | `startSysdvr` | Owner |\n| `sysDvr` | — | Show instructions for SysDVR. | `sysDvr` | Owner |\n| `startController` | controllerstart, startcontrol, controlstart, startremote, remotestart, sbr, controller | Start Switch Remote controller. | `startController` | Owner |\n\n## 📡 Bot Management\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `ping` | — | Ping the bot to check if it's running. | `ping` | Sudo, Owner |\n| `help` | — | Show all commands. | `help` | Everyone |\n| `info` | about, whoami, owner, bot | Show bot information. | `info` | Everyone |\n| `botStatus` | — | Get bot status via logs. | `botStatus` | Sudo, Owner |\n| `botStart` | — | Start the bot. | `botStart` | Sudo, Owner |\n| `botStop` | — | Stop the bot. | `botStop` | Sudo, Owner |\n| `botIdle` | botPause, idle | Pause the bot. | `botIdle` | Sudo, Owner |\n| `botChange` | — | Change the bot routine. | `botChange \u003cFlexTrade\u003e` | Sudo, Owner |\n| `botRestart` | — | Restart the bot(s). | `botRestart` | Sudo, Owner |\n| `status` | stats | Get the bot environment status. | `status` | Sudo, Owner |\n| `kill` | shutdown | Shutdown the bot. | `kill` | Owner |\n\n## 📢 Echo \u0026 Logging\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `announce` | Announce | Send an announcement to Echo channels. | `announce \u003cmsg\u003e` | Owner |\n| `dm` | - | Send a DM to a user as the bot. | `dm @user \u003cmsg\u003e` | Owner |\n| `addEmbedChannel` | aec | Assign a channel for bot embeds. | `addEmbedChannel #channel` | Sudo, Owner |\n| `echoInfo` | — | Dump echo message settings. | `echoInfo` | Sudo, Owner |\n| `echoClear` | rec | Clear echo settings for current channel. | `echoClear` | Sudo, Owner |\n| `echoClearAll` | raec | Clear echo settings from all channels. | `echoClearAll` | Sudo, Owner |\n| `logHere` | — | Log to current channel. | `logHere` | Sudo, Owner |\n| `logClearAll` | — | Clear all log settings. | `logClearAll` | Sudo, Owner |\n| `logClear` | — | Clear log settings for current channel. | `logClear` | Sudo, Owner |\n| `logInfo` | — | Dump logging settings. | `logInfo` | Sudo, Owner |\n\n## 🔐 Permissions \u0026 Guild\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `listGuilds` | lg, servers, listservers | List all guilds the bot is in. | `listGuilds` | Sudo, Owner |\n| `leave` | bye | Leave current server. | `leave` | Sudo, Owner |\n| `leaveGuild` | lg | Leave a guild by ID. | `leaveGuild \u003cID\u003e` | Sudo, Owner |\n| `leaveAll` | — | Leave all servers. | `leaveAll` | Sudo, Owner |\n\n## 🎲 Misc \u0026 Fun\n\n| Command | Aliases | Summary | Example | Permission |\n|---------|---------|---------|---------|------------|\n| `joke` | lol, insult | Tell a random joke. | `joke` | Everyone |\n| `hello` | hi, hey, yo | Say hello to the bot. | `hello` | Everyone |\n| `mi` | ml | View personal profile card w/ trainer info. | `myinfo` | Everyone |\n\n## 🧠 Passive Features\n\n- Use filename code like `Great Tusk-Tera(Steel)-03760382.pk9` to auto-set trade code.\n- Paste a PKM in chat to receive info + legal formats.\n- Thank the bot — it might reply!\n\n\n\n## 📝 Batch Commands to Showdown Format\n\n`ZE FusionBot` supports converting batch commands from Discord messages into official Showdown Set formats. This allows easy bulk Pokémon trading with full customization of stats, moves, ribbons, and other metadata.\n\n### Supported Batch Command Mappings\n\n| Batch Command | Showdown Format Equivalent | Notes |\n|---------------|---------------------------|-------|\n| `.Scale=` | `Scale:` or `Size:` | Accepts keywords (XXXS, XXS, XS, S, AV, L, XL, XXL, XXXL) or numeric values 1-255. |\n| `.WeightScalar=` | `Weight:` | Accepts keywords (XS, S, AV, L, XL) or numeric values 1-255. |\n| `.HeightScalar=` | `Height:` | Accepts keywords (XS, S, AV, L, XL) or numeric values 1-255. |\n| `.OriginalTrainerFriendship=` | `OT Friendship:` | Value 1–255. |\n| `.HandlingTrainerFriendship=` | `HT Friendship:` | Value 1–255. |\n| `.MetDate=` | `Met Date:` | Supports flexible date formats. |\n| `.StatNature=` | `Stat Nature:` | Accepts a Nature keyword. |\n| `~=Version=` | `Game:` or `Version:` | Supports full game names or abbreviations. |\n| `.MetLocation=` | `Met Location:` | [Numeric IDs](https://github.com/Secludedly/ZE-FusionBot?tab=readme-ov-file#-met-location-reference) \u0026 [Location names](https://github.com/Secludedly/ZE-FusionBot/blob/f72fded7b30c1c6a03bd1cf22f3366f88ec9b257/SysBot.Pokemon/Helpers/BatchCommandNormalizer.cs#L780) supported. |\n| `.HyperTrainFlags=` | `HyperTrain:` | True / False. |\n| `.HT_[STAT]=` | `HT:` | Supports HP, Atk, Def, SpA, SpD, Spe. |\n| `.Moves=` | `Moves:` | “Random” generates random moves. |\n| `.RelearnMoves=` | `Relearn Moves:` | “All” or “None” accepted. |\n| `.Ribbons=` | `Ribbons:` | “All” or “None” supported. |\n| `.RibbonMark[mark]=True` | `Mark:` | Mark names without spaces (e.g., BestFriends). |\n| `.Ribbon[name]=True` | `Ribbon:` | Ribbon names without spaces (e.g., BattleChampion). |\n| `.SetEVs=` | `Set EVs:` | Accepts `Random`, or `Suggest`. |\n| `.SetIVs=` | `Set IVs:` | Accepts `Random`, or presets like `1IV`–`6IV`. |\n| `.GV_[STAT]=` | `GVs:` | Supports HP, Atk, Def, SpA, SpD, Spe. |\n| `.Marking[type]=` | `Markings:` | Diamond, Heart, Square, Star, Triangle, Circle in Red or Blue `Markings: Diamond=Red / Circle=Blue` etc. |\n| `.Characteristic=` | `Characteristic:` | Type out a [characteristic](https://github.com/Secludedly/ZE-FusionBot?tab=readme-ov-file#-characteristic-reference). |\n| `.Nickname=` | `Nickname:` | Write \"Suggest\" for a random nickname pulled from code dictionary. |\n\n---\n\n## 🧭 Slash Command Support\n\nZE FusionBot supports **modern Discord Slash Commands** for fast, clean Pokémon creation across all supported games.  \nThese commands integrate directly with the bot’s legality pipeline and AutoOT logic.\n\n### 🎮 Available Slash Commands\n\n| Slash Command | Game |\n|--------------|------|\n| `/create-sv` | Scarlet / Violet |\n| `/create-swsh` | Sword / Shield |\n| `/create-bdsp` | Brilliant Diamond / Shining Pearl |\n| `/create-pla` | Legends: Arceus |\n| `/create-plza` | Legends: Z-A |\n| `/create-lgpe` | Let’s Go Pikachu / Eevee |\n\n### 🔹 Notes\n- Slash commands provide **guided Pokémon creation** without needing manual Showdown formatting.\n- Fully compatible with **Auto-Legalization**, **AutoOT**, and **language handling**.\n- Ideal for newer users or servers that want a **clean, modern interaction flow**.\n\n\u003e Text commands and batch systems remain fully supported — slash commands simply add another powerful option.\n\n---\n\n### 📍 Met Location Reference\n- **Gen 2–8 Locations:** [Imgur](https://i.imgur.com/v02WMmL.jpeg)  \n- **SWSH/BDSP/PLA/SV/PLZA Locations:** [Pastebin](https://pastebin.com/NBu14c6q)\n\n\u003e 🔹 `Met Location:` now supports **numeric IDs** AND **location names**. See above references for valid values per generation.\n\n---\n\n### 💠 Characteristic Reference\n| Characteristic | IV Set | IV Type |\n|----------------|--------|---------|\n| `Likes to eat` | 30, 8, 13, 18, 23, 25 | HP |\n| `Takes plenty of siestas` | 31, 6, 26, 22, 10, 0 | HP |\n| `Scatters things often` | 28, 8, 28, 12, 9, 19 | HP |\n| `Likes to relax` | 29, 16, 3, 7, 26, 13 | HP |\n| `Nods off a lot` | 27, 0, 13, 27, 27, 8 | HP |\n| `Proud of its power` | 18, 30, 10, 11, 26, 3 | Attack |\n| `Likes to thrash about` | 10, 31, 0, 3, 12, 0 | Attack |\n| `A little quick tempered` | 25, 27, 9, 7, 8, 8 | Attack |\n| `Quick tempered` | 0, 29, 6, 23, 4, 17 | Attack |\n| `Likes to fight` | 25, 28, 11, 8, 9, 18 | Attack |\n| `Sturdy body` | 15, 24, 30, 5, 24, 29 | Defense |\n| `Capable of taking hits` | 6, 0, 21, 2, 18, 3 | Defense |\n| `Highly persistent` | 4, 21, 27, 9, 21, 18 | Defense |\n| `Good endurance` | 19, 2, 23, 2, 6, 4 | Defense |\n| `Good perseverance` | 26, 16, 29, 0, 20, 22 | Defense |\n| `Highly curious` | 9, 6, 21, 30, 10, 28 | Special Attack |\n| `Mischievous` | 7, 20, 0, 31, 5, 17 | Special Attack |\n| `Thoroughly cunning` | 5, 4, 20, 27, 12, 26 | Special Attack |\n| `Often lost in thought` | 8, 3, 1, 23, 19, 14 | Special Attack |\n| `Very finicky` | 9, 1, 0, 24, 21, 12 | Special Attack |\n| `Strong willed` | 14, 6, 29, 16, 30, 0 | Special Defense |\n| `Somewhat vain` | 10, 5, 10, 15, 26, 15 | Special Defense |\n| `Strongly defiant` | 10, 10, 12, 3, 12, 10 | Special Defense |\n| `Hates to lose` | 3, 8, 13, 18, 23, 2 | Special Defense |\n| `Somewhat stubborn` | 4, 9, 14, 19, 24, 15 | Special Defense |\n| `Likes to run` | 2, 7, 12, 17, 22, 30 | Speed |\n| `Alert to sounds` | 31, 31, 31, 31, 31, 31 | Speed |\n| `Impetuous and silly` | 2, 7, 12, 17, 22, 27 | Speed |\n| `Somewhat of a clown` | 3, 8, 13, 18, 23, 28 | Speed |\n| `Quick to flee` | 4, 9, 14, 19, 24, 29 | Speed |\n\n---\n\n### Example Usage\n\n```markdown\nSet EVs: Suggest\nSet IVs: 5IV\nScale: XL\nWeight: 45\nHeight: AV\nOT Friendship: 128\nHT Friendship: 128\nMet Location: 30024\nGame: PLA\nMoves: Random\nRelearn Moves: All\nMark: BestFriends\nRibbons: All\nGVs: 7 HP / 7 Atk / 7 Def / 7 SpA / 7 SpD / 7 Spe\nHT: HP / Atk / Def / SpA / SpD / Spe\nCharacteristic: Quick to flee\nMarkings: Diamond=Red / Heart=Red / Square=Blue / Star=Blue / Triangle=Red / Circle=Blue\n```\n\n## ⚙️ Bot Functions\n\n### 🧑‍🎓 AutoOT\nFusionBot automatically applies your **trainer information** based on the save file you’re currently using.  \n- Your **OT / TID / SID / OTGender** are applied automatically.  \n- To keep the trainer info in your own files, attach them with `t true`.  \n- For Showdown Sets, simply include the OT/TID/SID you want — AutoOT will then be disabled.  \n\nThis ensures all trades feel natural and consistent with your game, while still letting you override it if you want custom trainer data.\n\n---\n\n### 🔗 Link Trade Codes\nFusionBot assigns you a **personal static Link Trade Code** on your first trade.  \n- This code is **unique to you** and stays the same for all future trades.  \n- To reset it: use `dtc` (your next trade gives you a new random code).  \n- To customize it: use `ctc 12345678` (sets your permanent code to whatever you choose).  \n\nThis makes trading smoother by removing guesswork — your link code is always ready.  \n\n---\n\n### 🏅 Medals \u0026 Milestones\nEvery trade you complete is tracked by FusionBot, and your **trade count** shows up in the footer of the trade embed.  \n- For every **50 trades**, you earn a new medal 🥇.  \n- You can check your medals anytime in your profile card with the `mi` command.  \n- It’s just for fun — a little **progression system** to show off your trading dedication.  \n\nThink of it like leveling up — the more you trade, the more medals you rack up, proving you’re a true master trader.  \n\n---\n\n### 🤖 Reading DMs Sent to the Bot\nYou can now read the DMs a user sends to the bot. This is fun for when people think your bot is a real person and they attempt to speak to it, or get enraged at it because their internet sucks or don't have NSO. As sad as it is, sometimes users will send derogatory/racial/sexist messages to your bot thinking no one can see it, but now you can, and if they speak like that, do you really want them in your server? \n- Visit the **UserDMsToBotForwarder** option in `Hub -\u003e Discord` and insert a Channel ID, then restart the bot.\n- The DMs that get logged are only those without a command, so you will not get flooded with user command input.\n- You'll also be able to see attachments users send to the bot, but beware, because it can get weird. I learned from experience.\n\n---\n\n## 🔗 Other Projects\n\n- [**Switch Remote for PC**](https://github.com/Secludedly/Switch-Remote-For-PC) — GUI to control Switch from PC.\n- [**PKHeX ALM Releases**](https://github.com/Secludedly/PKHeX-ALM-Releases/releases) — PKHeX + AutoLegalityMod pre-built with config files.\n\n## 🤝 Supported Projects\n\n- [**GenPKM**](https://genpkm.com/pokecreator.php) — Web-based alternative to Showdown for bot-ready sets.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecludedly%2Fze-fusionbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecludedly%2Fze-fusionbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecludedly%2Fze-fusionbot/lists"}