Implement message splitting for messages exceeding Telegram's 4096 character limit. Update header branding, increase max_tokens to 4000, adjust END_HOUR to 20, update default AI model, and revise documentation to reflect channel setup instead of groups.
8.7 KiB
Como criar um Bot no Telegram e configurar um Canal
Este guia explica passo a passo como criar um bot no Telegram, configurar um canal, adicionar administradores e configurar tudo para que o canal receba as mensagens do bot.
1. Criar o Bot no Telegram
1.1. Acessar o BotFather
- Abra o Telegram e pesquise por @BotFather ou acesse https://t.me/BotFather.
- Clique em Iniciar ou envie o comando
/start.
1.2. Criar o novo bot
- Envie o comando
/newbot. - Escolha um nome para o seu bot (ex:
ThorAgentIA Bot). Este é o nome de exibição. - Escolha um username para o bot (ex:
thoragentia_bot). O username deve terminar combote ser único no Telegram.
1.3. Obter o Token
Após criar o bot, o BotFather irá enviar uma mensagem semelhante a:
Usuário: @thoragentia_bot
Token: 1234567890:ABCdefGhIJKlmNoPQRsTUVwxyz1234567890
Guarde este token com segurança. Ele será usado na variável TELEGRAM_BOT_TOKEN do arquivo .env.
⚠️ Nunca compartilhe o token publicamente. Qualquer pessoa com acesso ao token pode controlar o bot.
2. Criar um Canal no Telegram
2.1. Criar o canal
- No Telegram, clique no ícone de menu (três linhas) e selecione Novo canal.
- Defina um nome para o canal (ex:
Insights ThorAgentIA). - (Opcional) Adicione uma descrição e foto.
- Clique em Criar.
2.2. Tornar o canal público ou privado
- Canal público: Qualquer pessoa pode encontrar o canal pelo username.
- Canal privado: Apenas usuários convidados podem acessar.
Recomenda-se usar canal público se desejar que o bot envie mensagens usando apenas o username. Para canais privados, será necessário usar o ID numérico.
2.3. Configurar permissões do canal
- Clique no nome do canal no topo.
- Clique em Gerenciar canal (ou Editar canal).
- Ajuste as permissões conforme necessidade.
Para canais, o foco principal é garantir que o bot possa publicar mensagens.
3. Adicionar o Bot ao Canal
3.1. Adicionar como administrador (recomendado)
- Abra o canal e clique no nome do canal no topo.
- Clique em Administradores.
- Clique em Adicionar administrador.
- Pesquise pelo username do bot (ex:
@thoragentia_bot). - Selecione o bot e confirme.
Nota: Para canais públicos, o bot também pode ser adicionado sem ser administrador, mas para enviar mensagens proativamente é necessário ser administrador com permissão de postar mensagens.
3.2. Conceder permissões ao bot
Para que o bot possa enviar mensagens no canal, ele precisa ter a permissão Postar mensagens ou Enviar mensagens.
Como localizar essa permissão no Telegram
Telegram Desktop / Web
- Abra o canal.
- Clique no nome do canal no topo para abrir as informações.
- Clique em Administradores.
- Na lista, clique no nome do seu bot.
- Role até a seção Permissões de administrador.
- Ative a opção Postar mensagens (ou Enviar mensagens).
- Clique em Salvar no final da tela.
Telegram Android / iOS
- Abra o canal.
- Toque no nome do canal no topo para abrir as informações.
- Toque em Administradores.
- Na lista, toque no seu bot.
- Ative a opção Postar mensagens (ou Enviar mensagens).
- Toque no ícone de confirmar/check no canto superior direito para salvar.
Importante sobre a permissão "Postar mensagens"
Essa permissão controla se o administrador pode publicar mensagens no canal. Se estiver desativada, o bot será adicionado como administrador, mas não conseguirá enviar mensagens por conta própria.
Nota: Se o bot não for administrador, ele só poderá responder a comandos ou mensagens enviadas diretamente para ele. Para enviar mensagens proativamente, ele precisa ser administrador com essa permissão ativada.
4. Obter o Identificador do Canal
Para configurar o bot para enviar mensagens para o canal, você precisa do identificador do canal, que pode ser o username no formato @nome_do_canal ou o ID numérico -100xxxxxxxxxx.
4.1. Método 1: Usar o username do canal
Se o canal for público e tiver um username definido, basta usar o formato @nome_do_canal em TELEGRAM_CHAT_ID.
4.2. Método 2: Usar a API do Telegram
- Adicione o bot ao canal (veja seção 3).
- Envie uma mensagem do canal ou adicione o bot como administrador.
- Acesse a seguinte URL no navegador (substitua
SEU_TOKENpelo token do bot):
https://api.telegram.org/botSEU_TOKEN/getUpdates
- Procure por
"chat":{"id":-100XXXXXXXXXXna resposta JSON. O número negativo é o ID do canal.
Dica: Você também pode executar o comando abaixo no terminal para consultar os updates do bot:
python3 -c "
import requests, os
from dotenv import load_dotenv
load_dotenv()
token = os.getenv('TELEGRAM_BOT_TOKEN')
r = requests.get(f'https://api.telegram.org/bot{token}/getUpdates', timeout=15)
print(r.text)
"
4.3. Método 3: Usar um bot auxiliar
- Adicione o bot @myidbot ao canal.
- Envie o comando
/myid. - O bot irá responder com o identificador do canal.
5. Obter o Identificador do Canal
Para configurar o bot para enviar mensagens para o canal, você precisa do identificador do canal, que pode ser o username no formato @nome_do_canal ou o ID numérico -100xxxxxxxxxx.
5.1. Método 1: Usando o BotFather
- Acesse o BotFather.
- Clique no bot criado (ex:
@thoragentia_bot). - O BotFather irá exibir as informações do bot, incluindo o identificador do canal se houver.
5.2. Método 2: Usando a API do Telegram
- Adicione o bot ao canal (veja seção 3).
- Envie uma mensagem qualquer no canal ou adicione o bot como administrador.
- Acesse a seguinte URL no navegador (substitua
SEU_TOKENpelo token do bot):
https://api.telegram.org/botSEU_TOKEN/getUpdates
- Procure por
"chat":{"id":-100XXXXXXXXXXna resposta JSON. O número negativo é o ID do canal.
5.3. Método 3: Usando um bot auxiliar
- Adicione o bot @myidbot ao canal.
- Envie o comando
/myid. - O bot irá responder com o identificador do canal.
6. Configurar o ThorAgentIA para o Canal
6.1. Configurar o arquivo .env
Edite o arquivo .env do projeto ThorAgentIA com o token e identificador do canal obtidos:
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGhIJKlmNoPQRsTUVwxyz1234567890
TELEGRAM_CHAT_ID=@nome_do_canal
Importante: Para canais públicos, use o formato
@nome_do_canal. Para canais privados, use o ID numérico-100xxxxxxxxxx.
6.2. Testar a conexão
Execute o script principal para verificar se o bot envia mensagens corretamente para o canal:
source venv/bin/activate
python3 main.py
Se configurado corretamente, o bot começará a enviar insights automaticamente para o canal nos horários definidos.
7. Gerenciar Membros e Permissões
7.1. Adicionar novos membros
- Use o link de convite do canal (se o canal for privado).
- Ou adicione diretamente pelo menu do canal.
7.2. Remover membros
- Abra o canal e clique no nome do canal.
- Vá em Membros.
- Clique no membro que deseja remover.
- Selecione Remover membro.
7.3. Promover membros a administradores
- Abra o canal e clique no nome do canal.
- Vá em Administradores.
- Clique em Adicionar administrador.
- Pesquise e selecione o membro.
- Defina as permissões desejadas.
8. Solução de Problemas
O bot não envia mensagens para o canal
- Verifique se o bot é administrador do canal.
- Verifique se a permissão Postar mensagens está ativada para o bot.
- Confirme se o
TELEGRAM_BOT_TOKENeTELEGRAM_CHAT_IDestão corretos no.env. - Verifique os logs do script para identificar erros.
Usuários não recebem as mensagens
- Certifique-se de que os usuários são membros do canal.
- Para canais privados, verifique se os usuários foram convidados corretamente.
- Para canais grandes, verifique se o bot não foi silenciado pelos usuários.
O bot não responde a comandos no canal
- Verifique se o bot está ativo no canal.
- Confira se o token do bot está correto.
- Verifique se há restrições de permissão no canal.
9. Boas Práticas
- Nunca compartilhe o token do bot publicamente.
- Revise regularmente os administradores do canal para manter a segurança.
- Defina horários adequados para envio de mensagens (evite horários muito cedo ou tarde).
- Para canais grandes, considere usar um plano de distribuição mais espaçado.
- Documente as configurações do canal em um arquivo seguro (não no
.env).