feat(telegram): add message chunking and update channel configuration

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.
This commit is contained in:
marco
2026-08-24 08:35:52 -03:00
parent bfc6f444f8
commit a682eda9f3
4 changed files with 189 additions and 123 deletions
+114 -105
View File
@@ -1,6 +1,6 @@
# Como criar um Bot no Telegram e configurar um Grupo
# Como criar um Bot no Telegram e configurar um Canal
Este guia explica passo a passo como criar um bot no Telegram, criar um grupo, adicionar usuários e configurar tudo para que os membros do grupo recebam as mensagens do bot.
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.
---
@@ -32,217 +32,226 @@ Token: 1234567890:ABCdefGhIJKlmNoPQRsTUVwxyz1234567890
---
## 2. Criar um Grupo no Telegram
## 2. Criar um Canal no Telegram
### 2.1. Criar o grupo
### 2.1. Criar o canal
1. No Telegram, clique no ícone de **menu** (três linhas) e selecione **Novo grupo**.
2. Adicione pelo menos um contato inicial para criar o grupo (você pode removê-lo depois).
3. Defina um nome para o grupo (ex: `Insights ThorAgentIA`).
4. (Opcional) Adicione uma foto e descrição.
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 grupo público ou privado
### 2.2. Tornar o canal público ou privado
- **Grupo público**: Qualquer pessoa pode encontrar e solicitar entrada.
- **Grupo privado**: Apenas usuários convidados podem entrar.
- **Canal público**: Qualquer pessoa pode encontrar o canal pelo username.
- **Canal privado**: Apenas usuários convidados podem acessar.
Recomenda-se usar grupo **privado** para maior controle.
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 grupo
### 2.3. Configurar permissões do canal
1. Clique no nome do grupo no topo.
2. Clique em **Grupo** (ou **Editar grupo**).
3. Ajuste as permissões:
- **Enviar mensagens**: Permitido para todos os membros.
- **Enviar fotos/vídeos**: Conforme necessidade.
- **Adicionar membros**: Apenas administradores.
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 Grupo
## 3. Adicionar o Bot ao Canal
### 3.1. Adicionar como administrador (recomendado)
1. Abra o grupo e clique no nome do grupo no topo.
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 grupo, ele precisa ter a permissão **Enviar mensagens**.
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 grupo.
2. Clique no **nome do grupo** no topo para abrir as informações.
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 **Enviar mensagens**.
6. Ative a opção **Postar mensagens** (ou **Enviar mensagens**).
7. Clique em **Salvar** no final da tela.
**Telegram Android / iOS**
1. Abra o grupo.
2. Toque no **nome do grupo** no topo para abrir as informações.
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 **Enviar mensagens**.
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 "Enviar mensagens"
#### Importante sobre a permissão "Postar mensagens"
Essa permissão controla se o administrador pode postar mensagens no grupo. Se estiver desativada, o bot será adicionado como administrador, mas não conseguirá enviar mensagens por conta própria.
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 no grupo. Para enviar mensagens proativamente, ele precisa ser administrador com essa permissão ativada.
#### Observação adicional: permissão padrão do grupo
Além da permissão do bot, verifique também a permissão geral do grupo para mensagens:
1. Abra o grupo e clique no nome do grupo no topo.
2. Vá em **Permissões do grupo** (ou **Tipo de grupo / Permissões**).
3. Confira se **Enviar mensagens** está definida como **Todos os membros** ou, se for **Somente administradores**, certifique-se de que o bot está na lista de administradores.
Isso também influencia se os usuários comuns conseguem ver e interagir com as mensagens do bot.
> **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. Adicionar Usuários ao Grupo
## 4. Obter o Identificador do Canal
### 4.1. Convidar usuários diretamente
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`.
1. Abra o grupo e clique no nome do grupo no topo.
2. Clique em **Adicionar membro**.
3. Pesquise pelo usuário (username ou nome).
4. Selecione o usuário e confirme.
### 4.1. Método 1: Usar o username do canal
### 4.2. Compartilhar link de convite
Se o canal for público e tiver um username definido, basta usar o formato `@nome_do_canal` em `TELEGRAM_CHAT_ID`.
1. Abra o grupo e clique no nome do grupo no topo.
2. Clique em **Convite para o grupo** (ou **Link do grupo**).
3. Clique em **Copiar link** ou **Convidar por link**.
4. Compartilhe o link com os usuários que deseja adicionar.
### 4.2. Método 2: Usar a API do Telegram
> **Dica**: Para grupos privados, você pode definir um link de convite com data de expiração ou limite de uso.
### 4.3. Aprovar solicitações de entrada (grupos privados)
Se o grupo for privado, os usuários receberão uma solicitação de entrada. Os administradores devem aprovar essas solicitações.
---
## 5. Obter o Chat ID do Grupo
Para configurar o bot para enviar mensagens para o grupo, você precisa do **Chat ID** do grupo.
### 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 chat ID do grupo se houver.
### 5.2. Método 2: Usando a API do Telegram
1. Adicione o bot ao grupo (veja seção 3).
2. Envie uma mensagem qualquer no grupo (ex: `/start`).
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 Chat ID do grupo.
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
> **Dica**: Você também pode executar o comando abaixo no terminal para consultar os updates do bot:
1. Adicione o bot **@myidbot** ao grupo.
```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 Chat ID do grupo.
3. O bot irá responder com o identificador do canal.
---
## 6. Configurar o BotThorAgentIA para o Grupo
## 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 chat ID obtidos:
Edite o arquivo `.env` do projeto ThorAgentIA com o token e identificador do canal obtidos:
```env
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGhIJKlmNoPQRsTUVwxyz1234567890
TELEGRAM_CHAT_ID=-100XXXXXXXXXX
TELEGRAM_CHAT_ID=@nome_do_canal
```
> **Importante**: O Chat ID do grupo geralmente começa com `-100` (ex: `-1001234567890`).
> **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 grupo:
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 grupo nos horários definidos.
Se configurado corretamente, o bot começará a enviar insights automaticamente para o canal nos horários definidos.
---
## 7. Gerenciar Usuários e Permissões
## 7. Gerenciar Membros e Permissões
### 7.1. Adicionar novos usuários
### 7.1. Adicionar novos membros
- Use o link de convite do grupo (seção 4.2).
- Ou adicione diretamente pelo menu do grupo.
- Use o link de convite do canal (se o canal for privado).
- Ou adicione diretamente pelo menu do canal.
### 7.2. Remover usuários
### 7.2. Remover membros
1. Abra o grupo e clique no nome do grupo.
1. Abra o canal e clique no nome do canal.
2. Vá em **Membros**.
3. Clique no usuário que deseja remover.
3. Clique no membro que deseja remover.
4. Selecione **Remover membro**.
### 7.3. Promover usuários a administradores
### 7.3. Promover membros a administradores
1. Abra o grupo e clique no nome do grupo.
1. Abra o canal e clique no nome do canal.
2. Vá em **Administradores**.
3. Clique em **Adicionar administrador**.
4. Pesquise e selecione o usuário.
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 grupo
### O bot não envia mensagens para o canal
1. Verifique se o bot é administrador do grupo.
2. Verifique se a permissão **Enviar mensagens** está ativada para o bot.
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 grupo.
2. Verifique se o grupo não está no modo "Somente administradores" para enviar mensagens.
3. Para grupos grandes, verifique se o bot não foi silenciado pelos usuários.
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 grupo
### O bot não responde a comandos no canal
1. Verifique se o bot está ativo no grupo.
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 grupo.
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 membros do grupo para manter a segurança.
- 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 grupos grandes, considere usar um plano de distribuição mais espaçado.
- Documente as configurações do grupo em um arquivo seguro (não no `.env`).
- 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`).
---