Loading...
Run your Discord bot on VyroAI: plans, the console, your bot's web address, and the resource bars.
VyroAI offers managed Discord bot hosting so you don't need your own VPS. After generating a bot, you run it from inside the bot project itself — open the project in the Code Studio and use the Bot Console under the editor. That panel is where you pick a hosting plan, start and stop the bot, and read its console.
Choosing, paying for and topping up a plan all happen in the Bot Console inside your Discord bot project — there is no separate hosting page. (The old Bot sandbox page was removed on 19 August 2026.)
Want an overview of every bot you have across projects, with its plan and whether it is running? That list is on the Projects page under Bots — each row opens its project.
| Plan | RAM | CPU | Disk | Credits / 30 days |
|---|---|---|---|---|
| Micro | 128 MB | 5% | 256 MB | 100 |
| Small | 256 MB | 10% | 512 MB | 200 |
| Medium | 512 MB | 25% | 1 GB | 400 |
| Large | 1 GB | 50% | 2 GB | 800 |
The row at the top of the Bot Console. You only ever see the buttons that apply — Stop appears while the bot is starting or running, Restart once it is running, and Add Days once its block has run out.
The bot panel shows a live console with your bot's logs and a Clear console button. The status dot reflects the bot's real state on the host: if the process crashes (most commonly an invalid token or missing privileged intents in the Discord Developer Portal), the panel turns red and explains the likely cause.
You do not have to watch the console to catch a crash. The moment your bot errors, the crash appears by itself in your project chat as a red card naming the file and line, with an Auto Fix button on it — press that and the AI gets the last 30 lines of console output and repairs the cause. The card also carries Copy logs and Go to file, and the full log is folded behind Show logs. This works for a bot that is crash-looping too, which often never settles into the "error" state that draws the red panel.
While the bot runs, the console shows live CPU and RAM bars, and they do not measure the same way.
Disk is part of the plan but has no live bar. The RAM bar is the honest answer to "do I need a bigger plan?": a bot pressed against its memory bar is a bot about to be killed by the host.
Bots are not compiled, so nothing catches a syntax error before the host tries to run it. Pressing Start therefore scans your bot's files first.
A blocker — something that guarantees the bot cannot boot, like an unterminated string — refuses to start it, and the findings arrive as a message in your project chat naming each file, with an Auto Fix button on it. Smaller problems let the bot start and are reported in the same way. This is the automatic twin of the Check Code button described in Discord Bot Studio — Overview.
Plenty of bots write to their own files while they run — a config/welcome.json, a small settings store, whatever your dashboard saves when someone presses Save. That file usually started life as a project file the AI wrote, which used to make pressing Start quietly destructive: every press re-uploaded every project file, so the template overwrote what your bot had saved and the settings were back to their defaults. It only ever showed up after an edit followed by a Start, which is the moment you least expect your data to move.
Start now uploads only the files that actually changed. VyroAI keeps a record on the hosting server of what it last sent; a file whose project version is identical to the one already sent is left exactly as it is, with whatever your bot wrote into it. A file the AI really did change still ships as normal.
You can see it happen in the console. After an upload it says how many files it sent and how many it left alone, in the form "Uploaded 3 changed file(s), left 12 unchanged (the bot's own runtime writes are kept)."
The record lives on the hosting server itself. When there is no record to compare against — the first deploy of a bot, or a fresh server — every file is uploaded, exactly as it always was, and a file your bot had written is replaced by its project version.
A file that fails to upload is not marked as sent either, so the next Start tries it again rather than assuming it landed.
And one thing this does not do: it never deletes. A file you removed from the project stays on the hosting server until you remove it there.
The same Start button runs a second, shorter check: a scan for code that is dangerous to other people rather than merely broken. If it finds any, the bot is not uploaded and not started. The panel turns red and shows "Deployment blocked — malicious code detected", followed by what was found and the file it was found in.
What that scan refuses, in plain words: your bot token sent to an address that is not Discord; eval or a shell command run on whatever somebody typed in chat; code fetched from a URL and run; and a loop that bans or kicks every member of a server, or deletes every channel or every role.
A block is written down against your account for a moderator to look at, with the lines that triggered it. That is worth knowing before you try to get past it: rewrite the part that was flagged and press Start again — do not disguise it. Code the AI wrote for you does not normally trip this, and if you believe it is wrong, say so through /support rather than trying again unchanged.
One thing that is not a strike: if your bot printed its own token to the console, those lines are removed for you before it starts. No message pops up to say so (the app only shows Bot starting…), but the console gets a line such as Auto-removed 1 token-logging line(s) before deploy (token-leak prevention). Your bot runs exactly the same afterwards.
If your bot serves a web page — a dashboard, a status page, a webhook endpoint — the console shows a 🌐 Your bot's web address card once it is running, with the port it was given and the full address, http://bots.vyroai.vip:<port>, ready to Copy or Open.
If the address does not appear, the bot has not reported a port yet: press Restart and it shows up once it has.
The bots.vyroai.vip hostname sits inside vyroai.vip's HTTPS-only scope, so browsers silently upgrade http:// to https://. Your bot speaks plain http, so the upgraded address answers nothing and you see a connection error rather than your page.
The console prints a second address for exactly this — the same port on the numeric IP, which browsers do not upgrade. Use that one and it always opens.
Also worth knowing: that address is open to anyone who knows it. Do not put anything private on a page without a login of its own.
A Download button in the console packages the whole bot as <project>-bot.zip. Handy for a backup before a big change, or for running the same bot somewhere else. Remember that the zip contains your .env, so it contains your token — see Bot Token & Inviting Your Bot.
Custom bot dashboard URLs (yourbot.bots.vyroai.vip) are coming soon. There is a Dashboard Slug field you can edit to choose the name it will use. Until the custom URLs land, use the port address above.
You buy a block of days up front, not a daily deduction: pick a plan and a number of days, and the credits for the whole block come off your balance at once. Plans are priced per 30 days (see the table above); any other number of days is charged proportionally, and the exact total is shown in the Choose Hosting Plan dialog — the one that opens from the Bot Console — before you confirm.
When a block runs low you can add days from the same dialog: open it with Hosting at the top of the Bot Console, or with Add Days once the block has run out. The new days go on top of the ones you have left.
Pick your current plan again before you pay. The dialog does not open on the plan your bot is on: it selects the first plan in the list, Micro. Whichever plan is selected when you press Add Days is the one you pay for and becomes the bot's plan, and its server is resized to match — so a Large bot topped up with Micro still selected becomes a Micro bot.
Pick a plan sized to your bot — a simple bot runs fine on Micro. Note that a crashed bot does not restart itself: check on it after a code change rather than assuming it came back up.
5 of 10 in Discord Bots · Last checked 16 September 2026 · Previous: TypeScript Bots