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.
263 lines
8.7 KiB
Markdown
263 lines
8.7 KiB
Markdown
# 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
|
|
|
|
1. Abra o Telegram e pesquise por **@BotFather** ou acesse [https://t.me/BotFather](https://t.me/BotFather).
|
|
2. Clique em **Iniciar** ou envie o comando `/start`.
|
|
|
|
### 1.2. Criar o novo bot
|
|
|
|
1. Envie o comando `/newbot`.
|
|
2. Escolha um nome para o seu bot (ex: `ThorAgentIA Bot`). Este é o nome de exibição.
|
|
3. Escolha um username para o bot (ex: `thoragentia_bot`). O username deve terminar com `bot` e 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
|
|
|
|
1. No Telegram, clique no ícone de **menu** (três linhas) e selecione **Novo canal**.
|
|
2. Defina um nome para o canal (ex: `Insights ThorAgentIA`).
|
|
3. (Opcional) Adicione uma descrição e foto.
|
|
4. 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
|
|
|
|
1. Clique no nome do canal no topo.
|
|
2. Clique em **Gerenciar canal** (ou **Editar canal**).
|
|
3. 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)
|
|
|
|
1. Abra o canal e clique no nome do canal no topo.
|
|
2. Clique em **Administradores**.
|
|
3. Clique em **Adicionar administrador**.
|
|
4. Pesquise pelo username do bot (ex: `@thoragentia_bot`).
|
|
5. 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**
|
|
1. Abra o canal.
|
|
2. Clique no **nome do canal** no topo para abrir as informações.
|
|
3. Clique em **Administradores**.
|
|
4. Na lista, clique no nome do seu bot.
|
|
5. Role até a seção **Permissões de administrador**.
|
|
6. Ative a opção **Postar mensagens** (ou **Enviar mensagens**).
|
|
7. Clique em **Salvar** no final da tela.
|
|
|
|
**Telegram Android / iOS**
|
|
1. Abra o canal.
|
|
2. Toque no **nome do canal** no topo para abrir as informações.
|
|
3. Toque em **Administradores**.
|
|
4. Na lista, toque no seu bot.
|
|
5. Ative a opção **Postar mensagens** (ou **Enviar mensagens**).
|
|
6. 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
|
|
|
|
1. Adicione o bot ao canal (veja seção 3).
|
|
2. Envie uma mensagem do canal ou adicione o bot como administrador.
|
|
3. Acesse a seguinte URL no navegador (substitua `SEU_TOKEN` pelo token do bot):
|
|
|
|
```
|
|
https://api.telegram.org/botSEU_TOKEN/getUpdates
|
|
```
|
|
|
|
4. Procure por `"chat":{"id":-100XXXXXXXXXX` na 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:
|
|
|
|
```bash
|
|
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
|
|
|
|
1. Adicione o bot **@myidbot** ao canal.
|
|
2. Envie o comando `/myid`.
|
|
3. 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
|
|
|
|
1. Acesse o BotFather.
|
|
2. Clique no bot criado (ex: `@thoragentia_bot`).
|
|
3. 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
|
|
|
|
1. Adicione o bot ao canal (veja seção 3).
|
|
2. Envie uma mensagem qualquer no canal ou adicione o bot como administrador.
|
|
3. Acesse a seguinte URL no navegador (substitua `SEU_TOKEN` pelo token do bot):
|
|
|
|
```
|
|
https://api.telegram.org/botSEU_TOKEN/getUpdates
|
|
```
|
|
|
|
4. Procure por `"chat":{"id":-100XXXXXXXXXX` na resposta JSON. O número negativo é o ID do canal.
|
|
|
|
### 5.3. Método 3: Usando um bot auxiliar
|
|
|
|
1. Adicione o bot **@myidbot** ao canal.
|
|
2. Envie o comando `/myid`.
|
|
3. 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:
|
|
|
|
```env
|
|
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:
|
|
|
|
```bash
|
|
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
|
|
|
|
1. Abra o canal e clique no nome do canal.
|
|
2. Vá em **Membros**.
|
|
3. Clique no membro que deseja remover.
|
|
4. Selecione **Remover membro**.
|
|
|
|
### 7.3. Promover membros a administradores
|
|
|
|
1. Abra o canal e clique no nome do canal.
|
|
2. Vá em **Administradores**.
|
|
3. Clique em **Adicionar administrador**.
|
|
4. Pesquise e selecione o membro.
|
|
5. Defina as permissões desejadas.
|
|
|
|
---
|
|
|
|
## 8. Solução de Problemas
|
|
|
|
### O bot não envia mensagens para o canal
|
|
|
|
1. Verifique se o bot é administrador do canal.
|
|
2. Verifique se a permissão **Postar mensagens** está ativada para o bot.
|
|
3. Confirme se o `TELEGRAM_BOT_TOKEN` e `TELEGRAM_CHAT_ID` estão corretos no `.env`.
|
|
4. Verifique os logs do script para identificar erros.
|
|
|
|
### Usuários não recebem as mensagens
|
|
|
|
1. Certifique-se de que os usuários são membros do canal.
|
|
2. Para canais privados, verifique se os usuários foram convidados corretamente.
|
|
3. Para canais grandes, verifique se o bot não foi silenciado pelos usuários.
|
|
|
|
### O bot não responde a comandos no canal
|
|
|
|
1. Verifique se o bot está ativo no canal.
|
|
2. Confira se o token do bot está correto.
|
|
3. 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`).
|
|
|
|
---
|
|
|
|
## Referências
|
|
|
|
- [Documentação oficial do Telegram Bot API](https://core.telegram.org/bots/api)
|
|
- [BotFather](https://t.me/BotFather)
|
|
- [myidbot](https://t.me/myidbot)
|