Um bot do Telegram recebe 409 Conflict por um de dois motivos: outra cópia do bot está pedindo mensagens ao Telegram com o mesmo token, ou há um webhook configurado no bot enquanto o seu código usa polling. O Telegram deixa só um dos dois receber as mensagens do bot. Leia o fim da linha no Console para saber qual é, e depois:
terminated by other getUpdates request: pare a outra cópia do seu bot (no seu PC, na sua hospedagem antiga ou em outro servidor) e depois reinicie o bot aqui.- Não acha a outra cópia? No @BotFather, envie
/mybots, escolha o seu bot, API Token, revogue-o e cole o novo token na página Bot, seção Telegram. can't use getUpdates method while webhook is active: clique em Remover o webhook no aviso (ou em Remover webhook na seção Telegram) e depois reinicie o bot.
Em um bot do Telegram na PlayNHost, o painel lê o console por você e mostra um aviso acima dele com a causa e o botão que corrige. O chip em Visão geral mostra Não está recebendo mensagens.
409: outra cópia do seu bot está rodando
O texto do Telegram, dentro do erro da sua biblioteca:
Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
Como aparece em cada biblioteca:
| Biblioteca | Linha no console |
|---|---|
| python-telegram-bot | telegram.error.Conflict: Conflict: terminated by other getUpdates request; ... |
| aiogram 3 | Failed to fetch updates - TelegramConflictError: Telegram server says - Conflict: terminated by other getUpdates request; ... |
| pyTelegramBotAPI | A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; ... |
| grammY | GrammyError: Call to 'getUpdates' failed! (409: Conflict: terminated by other getUpdates request; ...) |
| Telegraf | TelegramError: 409: Conflict: terminated by other getUpdates request; ... |
O Telegram entrega as mensagens a uma cópia por vez, então as duas cópias ficam se tirando do caminho. python-telegram-bot, aiogram e pyTelegramBotAPI continuam tentando: o seu bot parece estar rodando aqui, mas perde mensagens ou não responde nada. grammY e Telegraf param com o erro.
O aviso diz Seu bot também está rodando em outro lugar. Para corrigir:
- Ache a outra cópia e pare-a: uma janela de terminal ou um script no seu PC, a hospedagem antiga de onde você migrou (uma tarefa sempre ativa, um deploy ou um serviço) ou um segundo servidor rodando o mesmo código.
- Clique em Reiniciar aqui e acompanhe o Console. O erro para quando o seu bot é a única cópia.
- Se você não achar a outra cópia, crie um token novo para que o antigo pare de funcionar em todo lugar: no @BotFather, envie
/mybots, escolha o seu bot, API Token e depois Revoke current token. - Na página Bot, seção Telegram, clique em Substituir token, cole o token novo e clique em Salvar token. O painel diz O bot continua usando o token antigo até reiniciar.: clique em Reiniciar agora.
O botão Substituir o token do aviso abre a mesma seção. O token antigo para de funcionar na hora, então qualquer cópia esquecida não consegue mais ler as mensagens do seu bot.

409: há um webhook configurado enquanto o seu bot usa polling
O texto do Telegram:
Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
Um webhook diz ao Telegram para enviar as mensagens do seu bot a um endereço web. Enquanto houver um configurado, o código que usa polling (pede ao Telegram as mensagens novas) recebe esse erro. Em geral ele fica de uma hospedagem antiga que rodava o bot com webhook, ou de um código que um dia chamou setWebhook. Na PlayNHost o seu bot usa polling: webhooks precisam de um endereço HTTPS público, que esses planos ainda não incluem.
O aviso diz Há um webhook configurado no seu bot. A seção Telegram da página Bot também mostra Há um webhook configurado neste bot com o endereço para onde ele aponta. Para corrigir:

- Clique em Remover o webhook no aviso, ou em Remover webhook na seção Telegram.
- Confirme em Remover o webhook? com Remover webhook. O Telegram deixa de enviar as mensagens do seu bot para esse endereço e guarda as que estão esperando, para que o seu bot as busque aqui.
- Reinicie o bot.
Se uma cópia do seu bot ainda rodar em outro lugar nesse webhook, ela deixa de receber mensagens quando você o remove. Pare essa cópia também, ou ela pode configurar o webhook de novo quando reiniciar.
python-telegram-bot (run_polling()) e grammY (bot.start()) removem um webhook sozinhos quando o polling começa. O aiogram não: ele continua tentando no 409. Use o botão, ou adicione uma linha antes do polling:
await bot.delete_webhook()
await dp.start_polling(bot)
Seu código tenta configurar um webhook
Se o seu código chama setWebhook, o Telegram o recusa com Bad Request: bad webhook: ... e o aviso diz Seu código tenta configurar um webhook. Troque o início com webhook pela chamada de polling da sua biblioteca: run_polling() no python-telegram-bot, start_polling() no aiogram, bot.start() no grammY ou launch() no Telegraf. O botão Abrir Files do aviso leva você ao seu código. Exemplos: Como migrar um bot do Telegram para a PlayNHost.
401 Unauthorized: o token é recusado
O Telegram responde 401 Unauthorized quando o token foi revogado no @BotFather ou copiado errado. Exemplos:
telegram.error.InvalidToken
TelegramUnauthorizedError: Telegram server says - Unauthorized
GrammyError: Call to 'getMe' failed! (401: Unauthorized)
TelegramError: 401: Unauthorized
Nossos bots iniciais imprimem uma linha simples no lugar:
Telegram did not accept the bot token. Paste the current one from @BotFather on the Bot page, then restart.
O aviso diz O Telegram não aceitou o token do seu bot e a seção Telegram mostra O Telegram não aceitou. No @BotFather, envie /mybots, escolha o seu bot e depois API Token; na seção, clique em Substituir token, cole-o, clique em Salvar token e depois em Reiniciar agora. aiogram e pyTelegramBotAPI continuam tentando com um token recusado, então sem o aviso o bot pareceria estar rodando.
Um token que o Telegram recusa nunca é salvo. Se você colar um token do Discord, o painel diz Esse é um token de bot do Discord.: copie o que o @BotFather deu a você.
429 Too Many Requests: controle de flood
Too Many Requests: retry after 22
telegram.error.RetryAfter: Flood control exceeded. Retry in 39.0 seconds
O seu bot enviou mais mensagens do que o Telegram permite em pouco tempo, e o Telegram pede que ele espere o número de segundos mostrado. As bibliotecas esperam e seguem em frente, então isso nunca para o bot. O aviso O Telegram está desacelerando seu bot é só um alerta. Envie menos mensagens de uma vez: o Telegram pede cerca de uma mensagem por segundo em um chat e 20 por minuto em um grupo.
Seu bot não conseguiu alcançar o Telegram
Este aviso significa que uma requisição do seu bot para api.telegram.org falhou. A maioria das bibliotecas tenta de novo sozinha, então uma única linha não é motivo de preocupação. Se o seu bot ficar em silêncio, reinicie-o; se continuar acontecendo, abra um ticket de suporte.
Bom saber
- Quando o bot para por causa de um token recusado, de outra cópia ou de um webhook, o e-mail de parada que enviamos diz a causa.
- Mais sobre o console: Como ler o console e os logs do seu bot. Configurando desde o começo: Como hospedar um bot do Telegram.



