---
title: "Bot Error Codes Explained and Fixed"
description: "Plain-English fixes for the errors bot developers hit most: Discord API codes, Telegram conflicts, out-of-memory crashes and missing modules."
url: "https://sillydev.co.uk/errors"
updated: "2026-09-28"
---

Error reference

# Bot errors, explained and fixed.

The errors that come up again and again when you build and host a bot, what each one actually means, and what to change. Find yours below, or search this page for the text you are seeing.

Filter errors

## Discord

- [4014 Disallowed intents Your code asks for a privileged intent the Developer Portal has not switched on.](https://sillydev.co.uk/errors/discord-4014-disallowed-intents)
- [50013 Missing Permissions The bot lacks a permission here, or its role is below the member it is acting on.](https://sillydev.co.uk/errors/discord-50013-missing-permissions)
- [50001 Missing Access The bot cannot see the channel or server it is trying to use.](https://sillydev.co.uk/errors/discord-50001-missing-access)
- [Invalid token The token is wrong, empty, or has been reset by Discord.](https://sillydev.co.uk/errors/discord-token-invalid)
- [429 Rate limited The bot is sending requests faster than Discord allows, or making too many failing ones.](https://sillydev.co.uk/errors/discord-429-rate-limited)
- [10062 Unknown interaction The bot answered a slash command too late, or another copy answered first.](https://sillydev.co.uk/errors/discord-10062-unknown-interaction)
- [50035 Invalid Form Body Something in what the bot sent is empty, too long or the wrong type. The error names the field.](https://sillydev.co.uk/errors/discord-50035-invalid-form-body)

## Telegram

- [409 Conflict Two copies of the bot, or a leftover webhook, are fighting over one token.](https://sillydev.co.uk/errors/telegram-409-conflict)
- [403 Bot was blocked The user blocked the bot or deleted their account. Expected; handle it rather than fix it.](https://sillydev.co.uk/errors/telegram-403-bot-was-blocked)
- [429 Too Many Requests The bot sent messages faster than Telegram allows. Wait the time it gives, then pace sends.](https://sillydev.co.uk/errors/telegram-429-too-many-requests)

## Node.js

- [Heap out of memory Node ran out of memory. Usually a cache growing without limit, sometimes a leak.](https://sillydev.co.uk/errors/javascript-heap-out-of-memory)
- [Cannot find module A package is not installed, or a file path is wrong. Often only on the server.](https://sillydev.co.uk/errors/node-cannot-find-module)
- [ERR_REQUIRE_ESM A package can only be imported, and your code requires it. Four ways out.](https://sillydev.co.uk/errors/node-err-require-esm)

## Python

- [Killed / exit code 137 The bot ran out of memory and the system stopped it, without a Python error.](https://sillydev.co.uk/errors/python-killed-out-of-memory)
- [ModuleNotFoundError The package is not installed where the bot runs, or is installed under another name.](https://sillydev.co.uk/errors/python-modulenotfounderror)

## Reading an error

Most of these errors carry a number, and the number is the useful part. Discord's API errors are five-digit codes like 50013; its gateway closes the connection with four-digit codes like 4014; Telegram uses HTTP statuses like 409. Search this page for the number before you read the rest of the message.

If the error scrolled past too fast to read, your hosting console keeps it. The line that matters is usually the first one that is not indented; everything under it is the stack trace showing where it happened.

Tools and hosting

- [Permissions calculator Tick the permissions your bot needs, get the integer and a ready-made invite link, or decode an existing one.](https://sillydev.co.uk/tools/discord-permissions-calculator)
- [Intents calculator Pick the events your bot listens for and get the intents value and the code for discord.js or discord.py.](https://sillydev.co.uk/tools/discord-intents-calculator)
- [Free Discord Bot Hosting Host it free →](https://sillydev.co.uk/discord-bot-hosting)
