Telegram Bot API · error code

Telegram error 403: Forbidden: bot was kicked from the group chat

Permanent - do not retryHTTP 403403 Forbidden: blocked, kicked, not started

Last verified against Telegram Bot API reference

What Telegram returns
Forbidden: bot was kicked from the group chat

What error 403 means

Your bot was removed from the chat you are trying to message. The description varies by chat type: Forbidden: bot was kicked from the group chat, Forbidden: bot was kicked from the supergroup chat, and Forbidden: bot was kicked from the channel chat. All three share the prefix bot was kicked from and mean the same thing: an admin (or the owner) removed the bot, and it cannot act in that chat until it is added back.

The chat still exists and the ID is still correct, which is why this is 403 rather than chat not found. Telegram also sent a my_chat_member update at the moment of removal, with the bot's new status kicked or left; bots that subscribe to that update type learn about removals immediately instead of at the next failed send.

A related but distinct description, Forbidden: bot is not a member of the channel chat, covers channels the bot was never in or left on its own.

What it looks like

{"ok":false,"error_code":403,"description":"Forbidden: bot was kicked from the supergroup chat"}

Why it happens

  • An admin removed the bot, sometimes as part of clearing inactive members.
  • The bot was banned after posting content the admins considered spam.
  • A group clean-up tool or another bot removed non-admin bots.

How to fix Telegram error 403

  1. 1Mark the chat as inactive and stop scheduled sends to it.
  2. 2Ask the group owner to re-add the bot, with the needed admin rights if it requires them.
  3. 3Handle the my_chat_member update so the record is updated the moment this happens.
  4. 4When the bot is re-added, Telegram sends a new my_chat_member update; re-activate on that.

How to stop it recurring

Subscribe to my_chat_member in allowed_updates and treat it as the source of truth for group membership. Keep per-chat state (active, kicked, left) rather than assuming a chat is reachable forever once seen.

python-telegram-bot raises telegram.error.Forbidden and aiogram raises TelegramForbiddenError for the whole kicked/blocked family, so route them through the same per-target deactivation path as bot was blocked by the user. If the group was upgraded rather than the bot removed, the old ID fails differently; see group upgraded to supergroup.

Official reference: Telegram Bot API reference. See all Telegram error codes or the Telegram limits and quotas.

Related codes

Error 403 - quick answers

What does Telegram error 403 mean?

Your bot was removed from the chat you are trying to message. The description varies by chat type: Forbidden: bot was kicked from the group chat , Forbidden: bot was kicked from the supergroup chat , and Forbidden: bot was kicked from the channel chat .

How do I fix Telegram error 403?

1. Mark the chat as inactive and stop scheduled sends to it. 2. Ask the group owner to re-add the bot, with the needed admin rights if it requires them. 3. Handle the my_chat_member update so the record is updated the moment this happens. 4. When the bot is re-added, Telegram sends a new my_chat_member update; re-activate on that.

Should I retry after error 403?

No. Retrying the same request produces the same error; the condition has to be fixed first. Treat it as a permanent failure for that message and surface it, rather than looping.

Stop debugging Telegram by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.