Esta seção é para bots que hospedam ou executam o seu próprio bot do Telegram. Até agora, todas as opções de hospedagem que verificamos funcionam por um site, e não dentro do Telegram.
Ainda estamos testando bots para esta página. Volte em breve ou sugira um.
Procuramos em plataformas de hospedagem de bots, provedores de VPS e listas de hospedagem gratuita um bot do Telegram que implante, execute ou gerencie o seu bot, e conferimos cada candidato no t.me e no próprio site. As plataformas encontradas funcionam por painel web e apontam só para um canal de notícias ou chat da comunidade. O único bot que cria servidores pelo Telegram pertence a um provedor que também vende VPS «warez», números virtuais e proxies residenciais, então não atende às nossas regras. Vamos incluir um bot aqui quando algum passar pelas mesmas verificações do resto do catálogo.
Um bot do Telegram é um programa comum que conversa com a Bot API em api.telegram.org, então qualquer hospedagem consegue rodá-lo se oferecer três coisas: um processo que fique ligado, acesso de saída à internet e um lugar para guardar dados que sobrevivam a um reinício. Para um webhook, você ainda precisa de um endereço HTTPS público em uma das portas que o Telegram aceita: 443, 80, 88 ou 8443. Um certificado autoassinado também funciona, desde que você envie a parte pública dele ao chamar setWebhook. Um banco de dados no mesmo disco do código se perde se a hospedagem recriar o contêiner, então confira onde ficam de fato as configurações e os lembretes dos seus usuários.
O long polling combina com um VPS pequeno ou um computador em casa: o bot busca as mensagens novas no Telegram por conta própria e não precisa de domínio nem de certificado. O webhook serve para plataformas que iniciam o seu código a cada requisição, como funções na nuvem; na cobrança por requisição, um bot parado não custa nada. O problema é tudo o que o bot precisa fazer sozinho, como um lembrete às 9h: uma função que só acorda com mensagens recebidas precisa de um agendador à parte. Os dois modos não se misturam: enquanto houver um webhook ativo, getUpdates retorna erro até você chamar deleteWebhook.
Um serviço que roda o seu bot precisa do token dele, e o token é controle total: quem o tem recebe todas as mensagens enviadas ao bot e pode publicar em nome dele. Entregue-o só a uma hospedagem com uma empresa identificável por trás, confira se o site do provedor aponta para o bot ou o painel que você usa e, se testar e não continuar, revogue o token no BotFather. É a verificação que nenhum bot de hospedagem passou ainda para esta seção.
Para long polling (getUpdates) serve qualquer computador com internet, até o de casa, mas o bot só responde enquanto ele estiver ligado. Um webhook precisa de um endereço HTTPS público: um VPS, uma hospedagem ou uma função na nuvem que roda a cada requisição.
O bot continua no Telegram, mas fica mudo: comandos ficam sem resposta e lembretes ou disparos que ele devia enviar não saem. O Telegram guarda as atualizações recebidas por até 24 horas: após um reinício rápido o bot as recebe, e o que for mais antigo se perde.
Guarde numa variável de ambiente ou num cofre de segredos do servidor, nunca no código nem num repositório. Se vazar, revogue no @BotFather: o token antigo para de funcionar na hora, e você só precisa colocar o novo no servidor.
O token e o username continuam os mesmos: leve o código e o banco de dados e pare a cópia antiga antes de iniciar a nova. Dois processos com o mesmo token em getUpdates entram em conflito com o erro 409 Conflict, e um webhook só vai para o último endereço configurado.