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:
@@ -5,7 +5,7 @@ Sistema automatizado de envio de insights via Telegram, utilizando inteligência
|
||||
## Funcionalidades
|
||||
|
||||
- Gera insights profundos em português brasileiro sobre temas pré-definidos.
|
||||
- Envia automaticamente os insights para um chat do Telegram.
|
||||
- Envia automaticamente os insights para um **canal do Telegram**.
|
||||
- Opera em horários configuráveis (padrão: 07:00 às 22:00).
|
||||
- Funciona de segunda a domingo (dias configuráveis).
|
||||
- Intervalo entre envios configurável.
|
||||
@@ -48,7 +48,7 @@ LLAMACPP_MODEL=qwen2.5-coder-3b-instruct-q4_k_m.gguf
|
||||
|
||||
2. **Crie um bot no Telegram** via @BotFather e obtenha o token.
|
||||
|
||||
3. **Obtenha seu chat ID** enviando uma mensagem para o bot e consultando a API do Telegram ou usando um bot como @myidbot.
|
||||
3. **Obtenha o identificador do canal** após adicionar o bot como administrador no canal. Use o username do canal no formato `@nome_do_canal` ou o ID numérico `-100xxxxxxxxxx`. Para descobrir o ID, consulte a seção "Descobrindo o chat ID do canal" abaixo.
|
||||
|
||||
## Instalação
|
||||
|
||||
@@ -86,7 +86,7 @@ Para rodar como serviço em background no Linux, utilize `systemd` ou `screen`/`
|
||||
| `LLAMACPP_MODEL` | Modelo LlamaCPP | qwen2.5-coder-3b-instruct-q4_k_m.gguf |
|
||||
| `DEFAULT_AI_MODEL` | Modelo usado quando houver apenas OpenAI | gpt-4o-mini |
|
||||
| `TELEGRAM_BOT_TOKEN` | Token do bot Telegram | obrigatório |
|
||||
| `TELEGRAM_CHAT_ID` | ID do chat Telegram | obrigatório |
|
||||
| `TELEGRAM_CHAT_ID` | Username do canal (ex: `@nome_do_canal`) ou ID numérico (ex: `-100xxxxxxxxxx`) | obrigatório |
|
||||
| `INTERVAL_MINUTES` | Intervalo entre envios (minutos) | 60 |
|
||||
| `START_HOUR` | Hora inicial de funcionamento | 7 |
|
||||
| `END_HOUR` | Hora final de funcionamento | 22 |
|
||||
@@ -110,8 +110,35 @@ ThorAgenteIA/
|
||||
└── README.md # Documentação
|
||||
```
|
||||
|
||||
## Descobrindo o chat ID do canal
|
||||
|
||||
Após adicionar o bot como administrador no canal, use um dos métodos abaixo:
|
||||
|
||||
### Método 1: Usando o username
|
||||
|
||||
Se o canal tiver um username público, basta usar o formato `@nome_do_canal` em `TELEGRAM_CHAT_ID`.
|
||||
|
||||
### Método 2: Usando o ID numérico
|
||||
|
||||
1. Envie qualquer mensagem do canal para o bot ou adicione o bot ao canal.
|
||||
2. Consulte as atualizações com:
|
||||
|
||||
```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)
|
||||
"
|
||||
```
|
||||
|
||||
3. Procure por `"chat":{"id":-100xxxxxxxxxx` nas mensagens relacionadas ao canal.
|
||||
|
||||
## Solução de Problemas
|
||||
|
||||
- **Erro de API Key**: Verifique se pelo menos um provedor está configurado no `.env`.
|
||||
- **Mensagem não enviada**: Confira o token do bot e o chat ID.
|
||||
- **Mensagem não enviada**: Confira o token do bot e o identificador do canal.
|
||||
- **Horário incorreto**: Verifique o fuso horário do servidor Linux.
|
||||
- **Bot sem permissão no canal**: Certifique-se de que o bot é administrador do canal com permissão para postar mensagens.
|
||||
|
||||
Reference in New Issue
Block a user