BotGhost is still running in September 2026, and for many servers it is still a fair choice: $10 a month per bot, or $5 a month billed yearly, with a free plan of 8 custom slash commands and 3 custom events. The best BotGhost alternatives depend on what you want to change. Kite has the most room on a free plan that stays online without ads or top-ups, and it is open source. inventor.bot and FromFlow have the cheapest paid plans, at $4.99 a month.
Bot Designer for Discord works from your phone, VibeBot writes the bot with AI from a description, and SCNX and MEE6's Bot Personalizer give you ready-made modules under your own bot's name. What none of the block-based builders can give you is logic outside their blocks, and only VibeBot hands over your bot's source code, for $100 per export.
When a bot has to talk to your own systems, keep its data where you control it, or outlive the platform it was built on, the real alternative is your own code with discord.js or discord.py. I checked every price and limit on this page on September 27, 2026.
BotGhost alternatives compared
All of these run your bot under its own name and avatar. They differ in price, free-plan limits and whether you can take the logic with you.
Price and free plan
| Tool | Paid price | Free plan | Hosting |
|---|---|---|---|
| BotGhost | $10/mo per bot or $60/yr; every bot $20/mo or $120/yr | 8 custom slash commands, 3 custom events; may go offline after 48 hours of inactivity | BotGhost (AWS) |
| Kite | Premium $5.99/mo, Ultimate $14.99/mo, per bot | 25 commands, 5 event listeners, 100 servers, 10,000 credits a month | Kite, or self-hosted |
| inventor.bot | $4.99/mo or $49.99/yr per bot; unlimited bots $9.99/mo or $99.99/yr | 2 projects, 10 servers, 10 components, 30-second flow limit | inventor.bot |
| Bot Designer for Discord | Premium points: $2.99 buys 1 week, $34.99 buys 24 weeks | Free, but you top up hosting time with codes or ads | BDFD |
| VibeBot | Lite $5/mo, Pro $10/mo, extra bots $5/mo | None; 3-day trial after a $1 card check | VibeBot |
| SCNX | Unlimited €4.99/mo, Professional €7.99/mo (EU prices with VAT; about 10% less billed yearly) | 10 custom command triggers; watch an ad every 7 days to stay online | SCNX |
| MEE6 Bot Personalizer | Included with Premium yearly ($49.99/yr) or lifetime ($89.99), list prices | MEE6 has a free tier, but the Personalizer needs Premium | MEE6 |
| FromFlow | Pro $4.99/mo, $24.99/yr or $44.99 once | None; 3-day trial after a $1 card check | FromFlow |
| Your own code | Libraries are free; hosting from about $2 to $5/mo | discord.js and discord.py are free and open source | Wherever you choose |
MEE6 was running a 50% promotion when I checked, so the table shows its list prices. SCNX showed me EU prices, which may differ in the US.
Ownership, logic and integrations
| Tool | Code export and ownership | Custom logic | Integrations |
|---|---|---|---|
| BotGhost | None. Its FAQ says custom code is not possible; share codes only import into other BotGhost bots | Visual blocks with conditions, loops, variables and data storage | HTTP request block, IFTTT trigger, Twitch and YouTube alerts |
| Kite | No export, but the whole platform is open source (AGPL-3.0) and can be self-hosted | Visual flows; most actions cost 1 credit | HTTP request block (3 credits), AI blocks |
| inventor.bot | No code export that I could find | Flows, plugins and built-in databases | Plugin marketplace; on Premium, an MCP server lets ChatGPT or Claude edit your flows |
| Bot Designer for Discord | Your code is BDScript, which only runs on BDFD | BDScript, a function-based scripting language | $httpGet and $httpPost for outside APIs |
| VibeBot | You can view and edit the generated discord.js v14 code; a packaged export costs $100 per export | Whatever the AI can write in discord.js | AI features and templates |
| SCNX | Core bot is on GitHub under BUSL-1.1, so you can self-host it for your own community; the dashboard and some modules are hosted-only | 65+ modules; Custom Commands V3 flows in beta | Twitch, YouTube, Reddit and RSS alerts on the hosted version |
| MEE6 Bot Personalizer | No; your application runs MEE6's code | MEE6 plugins and custom commands | MEE6's social alerts |
| FromFlow | No code export that I could find | Visual automations and AI-drafted flows | Built-in apps such as tickets, moderation, leveling and music |
| Your own code | You own it | Anything the Discord API allows | Anything with an API |
BotGhost in 2026: pricing, status and safety
BotGhost pricing
BotGhost lists three plans as of September 27, 2026:
- Free: hosting, 8 custom slash commands, 3 custom events, and the ready-made moderation, ticket, reaction role, leveling and economy modules.
- Single Bot: $10 a month, or $60 a year. One bot gets unlimited custom commands and events, unlimited servers, its own status without "Made with BotGhost" branding, and priority support.
- Unlimited Bots: $20 a month, or $120 a year, for every bot you own, including ones you create later.
Paid plans come with a 7-day money-back guarantee. The free plan's catch is uptime. BotGhost's FAQ says bots that are not premium "may go offline after 48 hours of inactivity". Its September 2026 changelog adds that a new free bot starts on its own only if no other free bot of yours is online.
Is BotGhost still up?
Yes. On September 27, 2026 the site is live, the changelog lists releases as recent as September 23, 2026, and BotGhost has had an iOS app since February 2026.
The question comes from mid-2025. In June 2025, according to BotGhost's statement as reported by TechIssuesToday, Discord gave BotGhost until July 14 to change how it uses its users' bot tokens or be shut down. In July the founder posted that Discord had denied BotGhost's appeal on the grounds that two security issues had not been reported or fixed promptly, which he disputed, and that Discord had reset about 31,000 bots.
He said the compliance deadline had moved to July 31 and that the bot servers were being shut down until Discord replied. On August 22, 2025 he posted that there was still no word from Discord, that development was restarting, and that BotGhost would stay premium-only for now.
The changelog picks up again on September 1, 2025, and the free plan is back on the homepage. I could not find a public statement from Discord or BotGhost on how the dispute ended. The founder's X profile now lists BotGhost as a past project that Discord shut down, which does not match what the live site shows.
Is BotGhost safe?
It is as safe as any platform that holds your bot's token, which gives full control of the bot. Three facts worth knowing:
- BotGhost says it hosts on AWS, secures data, including bot tokens, at rest and in transit, and runs a bug bounty.
- On June 2, 2025 it disclosed a flaw where the
interaction_tokenvariable could be hijacked in some custom events and "in some cases, was exploited to retrieve bot tokens". It said the flaw was fixed and largely contained, and advised owners of bots that echo user input to regenerate their tokens. The same post says "you are solely responsible for your bot's security". - Its Service Provider Agreement, updated May 2, 2025, says BotGhost acts on your behalf as a service provider under Discord's terms and that you are responsible for its API access to your bot.
These habits apply to every builder on this page, and to your own code too:
- Give the bot only the permissions it needs, never Administrator. The permissions calculator builds an invite link with just those.
- Reset the token in the Developer Portal when you leave a platform or suspect a leak. Resetting invalidates the old token, and my Discord bot token guide walks through it.
- Turn on two-factor authentication for the Discord account that owns the application.
The alternatives, one by one
Kite
Kite is a free, open source builder by developer Merlin Fuchs, and you can create up to 10 bots. Actions are metered in credits: most cost 1, an HTTP request 3, and the AI blocks 5 to 500, against 10,000 free credits a month. Premium ($5.99 a month) raises the limits to 100 commands, 1,000 servers and 100,000 credits.
The code is on GitHub under AGPL-3.0, so you can run the whole platform yourself with Docker and Postgres if Kite ever changes course. Its README calls the project "very much work in progress", so expect gaps.
inventor.bot
inventor.bot is the new version of inventor.gg. The free plan's 10-server cap and 1 MB database suit a single community. Premium ($4.99 a month per bot) raises that to 1,000 servers, a 15 MB database and 5-minute flows, and adds an MCP server so ChatGPT, Claude or Cursor can build flows for you.
Its published schedule ended hosting for v1 bots on August 1, 2026, so owners had to move their flows to v2. The notice came months ahead, but your own code never gets a deadline like that.
Bot Designer for Discord
Bot Designer for Discord (BDFD) is an Android and iOS app, also usable in a browser, with more than 1 million downloads on Google Play. You write commands in BDScript, a small language of $functions, which makes it a gentle first step toward real code.
Free hosting is time you top up, 30 minutes at a time or more per watched ad. Premium points cost as little as about $1.46 a week in the 24-point pack and lift the 230-command limit. Your BDScript runs only on BDFD.
VibeBot
VibeBot is an AI builder: you describe a feature in plain English, and it writes discord.js v14 code, tests it and deploys it. Lite ($5 a month) hosts a bot and its templates without the AI builder. Pro ($10 a month) includes $10 of AI credits, which VibeBot puts at about 20 feature builds.
It's the only builder here that exports the code written for your bot. You can read and edit what the AI writes in the builder, and a packaged export costs $100 each time, so ask exactly what the export contains before you count on it.
SCNX
SCNX is a module bot from ScootKit, with 65+ modules and a support bot for tickets, modmail and AI answers. It runs on your own application and token. On the free plan the bot pauses unless you watch a short ad in the dashboard every 7 days.
Professional (€7.99 a month) removes SCNX branding and is required for commercial servers with more than 500 members. The core bot is on GitHub under the Business Source License, which lets you self-host it for your own community, but not the dashboard or the hosted-only modules.
MEE6 Bot Personalizer
MEE6's "Build your own Discord bot" page is its Bot Personalizer. You create an application in the Developer Portal, switch on three privileged intents, and MEE6 runs its own plugins under your bot's name, avatar, status and an AI-written backstory. The Premium page includes it with the yearly and lifetime plans but not the monthly one ($11.99). It changes how MEE6 looks, not what it can do, so it fits servers already running on MEE6.
FromFlow
FromFlow combines ready-made apps (tickets, moderation, leveling, welcome, giveaways, polls, music, invite tracking) with a visual automation editor and an AI assistant that drafts flows. After the 3-day trial, Pro keeps it running. If you cancel, your bots and settings stay saved but Pro features pause.
Coding it yourself
discord.js (14.27.0 on npm) and discord.py (2.7.1 on PyPI) are free and open source. Small bot hosting starts at $1.99 a month for 512 MB at Cybrancee and $3 at PebbleHost. The real cost is your time: learning the library, then keeping up when Discord changes things.
Start with how to create a custom Discord bot with discord.js or the discord.py guide.
Which Discord bot maker is the best?
There's no single best maker, only a best fit:
- Free, with the most room and no lock-in: Kite.
- The most ready-made pieces: BotGhost, which advertises 1,000+ community commands and events in its marketplace.
- Building on your phone: Bot Designer for Discord.
- Describing the bot instead of assembling it: VibeBot.
- A module bot with a support desk, in the EU: SCNX.
- Already paying for MEE6: the Bot Personalizer.
Choosing a first tool rather than replacing BotGhost? Discord bot makers compared covers every kind, from phone and Steam apps to AI builders.
When a builder stops being enough
Stay on a builder if your bot is a welcome message, reaction roles, a handful of custom commands and a ticket panel. $5 to $10 a month is far cheaper than a developer. I've built Discord bots since 2019, and these are the signs that a server has outgrown blocks:
- The logic fights the blocks. Anything with real state, such as brackets, queues, Elo or a ban and pick order, turns into a maze of variables. The map veto bot I co-built for a tournament organizer works out the ban and pick order for best-of-1 to best-of-5, side picks and the decider. That state machine is short and testable in code, and hard to keep readable as blocks.
- It has to trust another system. Payment webhooks, OAuth logins and signed events need verification in code. My Trello bot checks Trello's HMAC signature before it believes any event.
- Bulk or scheduled work. For a league's registration bot I co-built, season start meant creating 138 channels and 123 roles for 131 teams in under half an hour, with a reset command for the next season. On a credit-metered builder, every one of those actions counts against your allowance.
- You need the data. Member records, payments or match results that belong in your own database, backed up and exportable, not in a builder's variable store.
- Platform risk. BotGhost's 2025 dispute and inventor.bot's v1 shutdown both forced owners to act on someone else's schedule. With code in your own repository on your own application, changing hosts means redeploying.
How moving from a builder to code works
- Write down what the bot does. List every command and its options, every event, module and variable, and what data it stores. Screenshot the flows.
- Save the data you need. Levels, balances and ticket history often live in the builder's storage. Check what you can download before you cancel. Share codes and marketplace exports only import back into the same platform, so treat them as documentation.
- Keep the same application. The bot's name, avatar, server memberships and managed role belong to the application in your Developer Portal. Your members won't notice the switch.
- Rebuild with the same command names, so the commands people already use keep working.
- Clear the old commands. Registered commands live on Discord's side until you replace them. Discord's bulk overwrite endpoints replace the whole global list or a server's list. If you skip this, leftovers from the builder show up next to your new commands.
- Test in a private server, then cut over. Stop the bot in the builder, reset the token in the Developer Portal, and start your code with the new token. If two platforms are logged in as the same bot, both receive the same events and both try to respond.
- Host it and watch it. A bot that's online only while your laptop is open isn't migrated. See how to host a Discord bot 24/7.
What the code looks like
Most builder bots start with a welcome event and a command or two. Here is that pair in discord.js: a join event that adds a role and posts a welcome, and a /suggest command that posts the idea as an embed with a thread under it. On startup it also clears global commands a builder may have left behind (step 5).
npm init -y
npm install discord.js@14
node --env-file=.env index.jsDISCORD_TOKEN=your-bot-token
GUILD_ID=your-server-id
MEMBER_ROLE_ID=role-to-give-new-members
WELCOME_CHANNEL_ID=channel-for-welcomes
SUGGESTIONS_CHANNEL_ID=channel-for-suggestionsconst {
Client,
GatewayIntentBits,
Events,
SlashCommandBuilder,
EmbedBuilder,
MessageFlags,
} = require('discord.js');
const { DISCORD_TOKEN, GUILD_ID, MEMBER_ROLE_ID, WELCOME_CHANNEL_ID, SUGGESTIONS_CHANNEL_ID } = process.env;
// GuildMembers is a privileged intent: switch on "Server Members Intent" in the Developer Portal.
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers] });
const suggest = new SlashCommandBuilder()
.setName('suggest')
.setDescription('Post a suggestion for the server to discuss')
.addStringOption((option) =>
option.setName('idea').setDescription('Your suggestion').setRequired(true).setMaxLength(1000),
);
client.once(Events.ClientReady, async (readyClient) => {
// Clear global commands a builder may have left on this application, then register ours on one server.
await readyClient.application.commands.set([]);
const guild = await readyClient.guilds.fetch(GUILD_ID);
await guild.commands.set([suggest.toJSON()]);
console.log(`Logged in as ${readyClient.user.tag}, /suggest registered in ${guild.name}`);
});
// The "member joins" event: give a role and post a welcome message.
client.on(Events.GuildMemberAdd, async (member) => {
try {
await member.roles.add(MEMBER_ROLE_ID);
const channel = await member.guild.channels.fetch(WELCOME_CHANNEL_ID);
await channel.send(`Welcome to ${member.guild.name}, ${member}. Read the rules, then say hi.`);
} catch (error) {
console.error(`Welcome flow failed for ${member.user.tag}:`, error);
}
});
// The /suggest command: post the idea as an embed and open a thread under it.
client.on(Events.InteractionCreate, async (interaction) => {
if (!interaction.isChatInputCommand() || interaction.commandName !== 'suggest') return;
try {
const idea = interaction.options.getString('idea', true);
const channel = await interaction.guild.channels.fetch(SUGGESTIONS_CHANNEL_ID);
const embed = new EmbedBuilder()
.setAuthor({ name: interaction.user.username, iconURL: interaction.user.displayAvatarURL() })
.setDescription(idea)
.setTimestamp();
const message = await channel.send({ embeds: [embed] });
await message.startThread({ name: `Discuss: ${idea.slice(0, 80)}` });
await interaction.reply({ content: `Posted in ${channel}.`, flags: MessageFlags.Ephemeral });
} catch (error) {
console.error('/suggest failed:', error);
if (!interaction.replied) {
// If this reply fails too (for example, the 3-second window has passed), log it instead of crashing the bot.
await interaction
.reply({ content: 'Something went wrong. Try again in a minute.', flags: MessageFlags.Ephemeral })
.catch(console.error);
}
}
});
client.login(DISCORD_TOKEN);I tested this file unchanged with discord.js 14.27.0 on Node.js 24.15.0. A test script stubbed the login and Discord's API, validated the command definition, and ran the ready, join and /suggest handlers on real discord.js objects, including the error paths. It has not connected to a live server, because that needs a real token.
Before you run it:
- Switch on the Server Members Intent in the Developer Portal. It is privileged, and if the code asks for it while the switch is off, Discord closes the connection with close code 4014 and the bot never logs in. Since June 2026, once more than 10,000 unique users can see your app, Discord has to approve the intent in a yearly review.
- Put the bot's role above the member role in Server Settings, or adding the role fails with a permissions error.
- Invite the bot with View Channels, Send Messages, Embed Links, Manage Roles and Create Public Threads.
Getting the move done
If you'd rather not rebuild it yourself, this is work I do. A builder bot with one main system and a handful of commands usually fits a Starter build from $590. Several systems sharing data, with a database and one integration, fits a Community build from $1,490. If levels and an economy are the main thing you're moving, see custom leveling and economy bots. Either way the bot keeps running on your own application, with the source in a repository you own.
If your bot is broken or offline, for example after a half-finished move, Bot Rescue is a fixed $149, and you pay nothing if I can't fix it. For a full rebuild, send me a short brief and I'll reply with a fixed quote.