Telegram error 403: Forbidden: bot was kicked from the group chat
Last verified against Telegram Bot API reference
Forbidden: bot was kicked from the group chatWhat 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
- 1Mark the chat as inactive and stop scheduled sends to it.
- 2Ask the group owner to re-add the bot, with the needed admin rights if it requires them.
- 3Handle the
my_chat_memberupdate so the record is updated the moment this happens. - 4When the bot is re-added, Telegram sends a new
my_chat_memberupdate; 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.