Start with the console. Scroll to the last lines before the crash message. Most of the errors below also get a [SnowServers] Hint: line with the fix.
ModuleNotFoundError: No module named '...'
A package your bot imports is not in requirements.txt. Add it and restart.
The name to add is not always the name you import. The common ones:
import discord→discord.pyimport dotenv→python-dotenvimport yaml→PyYAMLimport PIL→Pillowimport bs4→beautifulsoup4
If the module is one of your own files, check it was uploaded and sits where the import expects it.
Error: Cannot find module '...'
The JavaScript version of the same thing. A package name ('discord.js') means it is missing from dependencies in package.json: run npm install discord.js on your computer and upload or push the updated package.json. A path ('./commands/ping') means that file is not where the code expects it. Linux file names are case-sensitive, so Ping.js and ping.js are different files here even if they were not on Windows.
LoginFailure: Improper token has been passed, or TokenInvalid
The token is wrong. Usually one of:
- It was reset in the Developer Portal and the old one is still in Startup. Reset it again, copy the new one, paste it into Bot token.
- A space or line break came along when you pasted it.
- That is the Client Secret or Application ID, not the bot token. The token is on the Bot page.
KeyError: 'BOT_TOKEN', or the token is None
Bot token on the Startup page is empty. Paste the token in, wait a moment for it to save, and restart.
PrivilegedIntentsRequired, or Used disallowed intents
Your code asks for an intent (members, presences or message content) that is not switched on for your bot. In the Developer Portal, open your application, then Bot, and turn on the intents your code uses. Or stop asking for ones you do not need.
The bot is online but ignores commands
- Prefix commands (
!ping) need Message Content Intent on in the Developer Portal andintents.message_content = Truein your code. - Slash commands need syncing once with
await bot.tree.sync(), and can take a moment to appear. Re-open Discord if they do not. - Check the bot has permission to read and send messages in that channel.
There is no Python file to run, or Bot file is set to ..., but there is no ...
Nothing was found to start. Either:
- your main file has a name that is not guessed: set Bot file on Startup to it, for example
src/main.pyornpm start, - Bot file names a file that is not there: check the spelling and the folder, or clear it to have it found automatically, or
- a zip unpacked into a subfolder: the console says which folder has code in it. Move its contents up to the top folder. See Uploading files.
Git repository is set, but this server already has code that is not from Git
The clone did not run, so nothing of yours was overwritten. Delete the code it lists, then restart. .env and data files can stay. Git deploy.
The repository has files with the same names as files already here
A file on the server (often a data file or a config) has the same name as one in the repository, so the clone did not run rather than replace yours. Download it if you need it, delete or rename it in Files, then restart.
Git could not open the repository
The link is wrong, or the repository is private and there is no working token. Check the link opens in a browser while signed out. For a private repository, add a token in Git access token, and check it has not expired and can read that repository.
Did not update from Git: these files were edited here
You changed a file on the server that the new commits also change, so the update was skipped instead of throwing your change away. The bot is still running the previous commit. Make the change in your repository, or delete the edited file on the server, then restart.
SyntaxError: Cannot use import statement outside a module
Your code uses import in a file Node has been told is CommonJS: package.json says "type": "commonjs", or the file ends in .cjs. Change it to "type": "module", or rename the file to .mjs. (Only a MODULE_TYPELESS_PACKAGE_JSON warning? The bot runs; adding "type": "module" silences it.) JavaScript bots.
Aborting automatic restart, last crash occurred less than 60 seconds ago
Not the error itself. The bot crashed twice in a row quickly, so it was left stopped. Scroll up for the real error, fix it, press Start. More about crashes.
Exit code: 137, Out of memory: true
The bot used more memory than your plan has. See running out of memory.
The panel says the server is suspended
The subscription behind the server is not active: cancelled, or a payment failed and every retry did too. A free trial or free month for a Discord bot that already had one is also suspended until its first payment. Open the billing page from snowservers.com/login to check, or contact us.
pip or npm errors before the bot starts
See Installing packages for failed installs, conflicts and a full disk.
SyntaxError on a line that looks fine
Your code uses syntax newer than the server's Python or Node.js. In Python, some typing syntax needs 3.12. Switch versions under Startup.
Connection or SSL errors reaching another service
Outgoing connections are allowed, with a few deliberate exceptions: sending email directly over SMTP (ports 25, 465 and 587) is blocked, so use an email service's HTTPS API instead; private network addresses are blocked; and a server opening more than about 60 new connections a second has the extra dropped. If something ordinary is failing, check the service's own status page, then tell us.
Still stuck
Ask in the Discord or email us. Include:
- The last 20 or so lines of the console, copied as text rather than a photo.
- What you changed just before it broke.
- Your server's name as shown in the panel.
Never include your bot token. Check the pasted text for it before sending. If you did post it somewhere, reset it in the Developer Portal.
Something here wrong or out of date? Tell us and it gets fixed.