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:
@@ -2,7 +2,7 @@
|
||||
|
||||
# Configuração de horário de funcionamento (hora local)
|
||||
START_HOUR=7
|
||||
END_HOUR=22
|
||||
END_HOUR=20
|
||||
DAYS_OF_WEEK=1,2,3,4,5,6,7
|
||||
|
||||
# Intervalo em minutos para gerar e enviar insights
|
||||
@@ -11,16 +11,17 @@ INTERVAL_MINUTES=3
|
||||
# Assuntos (20 assuntos separados por vírgula)
|
||||
TOPICS=Marketing,Negócios,Pensamentos de Empresários Famosos,Lei da Atração,Lei do Triunfo (Autor: Napoleon Hill),Administração de Pequenos Negócios,CRM,Vendas,Compras para Empresas,Planejamento Estratégico Empresarial,Recursos Humanos,A Arte de Fazer Amigos,Inteligência Emocional,Produtividade,Liderança,Inovação,Experiência do Cliente,Networking,Marca Pessoal,Storytelling,As 36 Estratégias dos Chineses (Autores: Wee Chow Hou & Lan Luh Luh),Como garantir três vendas extras por dia (Autor: Evaldo Costa), 100 Segredos das Pessoas de Sucesso (Autor: David Niven),Como Fazer Amigos e Influenciar Pessoas(Autor: Dale Carnegie),Economia,Investimentos,Renda Passiva,A Arte de Vender(Autor: Paul W. Ivey),Educação Financeira,Planejamento Financeiro Pessoal,Planejamento Financeiro Empresarial,Fluxo de Caixa,Controle Financeiro Empresarial
|
||||
|
||||
# Modelo de IA padrão (opcional, se não usar provedores abaixo)
|
||||
# DEFAULT_AI_MODEL=gpt-4o-mini
|
||||
# Modelo de IA padrão
|
||||
DEFAULT_AI_MODEL=inclusionai/ling-3.0-flash
|
||||
# OPENAI_API_KEY=sua_api_key_openai_aqui
|
||||
|
||||
# Provedor OpenRouter
|
||||
OPENROUTER_API_KEY=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
|
||||
OPENROUTER_MODEL=poolside/laguna-xs-2.1:free
|
||||
#OPENROUTER_MODEL=poolside/laguna-xs-2.1:free
|
||||
OPENROUTER_MODEL=inclusionai/ling-3.0-flash
|
||||
|
||||
# Provedor StepFun
|
||||
STEPFUN_BASE_URL=https://api.stepfun.ai/step_plan/v1/
|
||||
STEPFUN_BASE_URL=https://api.stepfun.ai/v1
|
||||
STEPFUN_API_KEY=4RJZ4kHTbMNqWNn7IgahHF1kzcTi8zzUMv7YLQqjChCH5DftV2bSbGif1HllC44nv
|
||||
STEPFUN_MODEL=step-3.7-flash
|
||||
|
||||
@@ -30,8 +31,8 @@ LLAMACPP_API_KEY=not-needed
|
||||
LLAMACPP_MODEL=qwen2.5-coder-3b-instruct-q4_k_m.gguf
|
||||
|
||||
# Configuração do Telegram
|
||||
TELEGRAM_BOT_TOKEN=8638829617:AAEXTF0a7g66XRPcUb9gvw8t2StUPstX6VI
|
||||
TELEGRAM_CHAT_ID=-1004366529212
|
||||
TELEGRAM_BOT_TOKEN=8903949501:AAGXMQOS1q3z4_w1tUhBZZbYCZ8F0fkbi7E
|
||||
TELEGRAM_CHAT_ID=-1004317546152
|
||||
|
||||
# Idioma
|
||||
LANGUAGE=pt-BR
|
||||
|
||||
@@ -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.
|
||||
|
||||
+114
-105
@@ -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`).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -78,9 +78,12 @@ def generate_insight(topic):
|
||||
{"role": "user", "content": prompt},
|
||||
],
|
||||
temperature=0.7,
|
||||
max_tokens=1500,
|
||||
max_tokens=4000,
|
||||
)
|
||||
return response.choices[0].message.content.strip()
|
||||
content = response.choices[0].message.content
|
||||
if not content:
|
||||
return "[Erro ao gerar insight: resposta vazia da API]"
|
||||
return content.strip()
|
||||
except Exception as e:
|
||||
return f"[Erro ao gerar insight: {e}]"
|
||||
|
||||
@@ -88,9 +91,10 @@ def generate_insight(topic):
|
||||
def send_telegram_message(text, topic):
|
||||
now = datetime.now()
|
||||
header = (
|
||||
f"🤖 *ThorAgentIA*\n"
|
||||
f"🤖 *Syspanel Insights - by ThorAgentIA*\n"
|
||||
f"🤖 *https://syspanel.com.br*\n"
|
||||
f"🕒 {now.strftime('%d/%m/%Y %H:%M:%S')}\n"
|
||||
f"🧠 Modelo: `{DEFAULT_AI_MODEL}`\n"
|
||||
# f"🧠 Modelo: `{DEFAULT_AI_MODEL}`\n"
|
||||
f"📌 Assunto: {topic}\n\n"
|
||||
)
|
||||
message = header + text
|
||||
@@ -101,10 +105,35 @@ def send_telegram_message(text, topic):
|
||||
"text": message,
|
||||
"parse_mode": "Markdown",
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(url, json=payload, timeout=30)
|
||||
response.raise_for_status()
|
||||
print(f"[{now.strftime('%Y-%m-%d %H:%M:%S')}] Mensagem enviada com sucesso.")
|
||||
if len(message) <= 4096:
|
||||
response = requests.post(url, json=payload, timeout=30)
|
||||
response.raise_for_status()
|
||||
print(f"[{now.strftime('%Y-%m-%d %H:%M:%S')}] Mensagem enviada com sucesso.")
|
||||
else:
|
||||
chunks = []
|
||||
current = header
|
||||
parts = text.split("\n\n")
|
||||
for part in parts:
|
||||
candidate = current + part
|
||||
if len(candidate) <= 4096:
|
||||
current = candidate + "\n\n"
|
||||
else:
|
||||
chunks.append(current.strip())
|
||||
current = header + part + "\n\n"
|
||||
if current.strip():
|
||||
chunks.append(current.strip())
|
||||
|
||||
for idx, chunk in enumerate(chunks, start=1):
|
||||
chunk_payload = {
|
||||
"chat_id": TELEGRAM_CHAT_ID,
|
||||
"text": chunk,
|
||||
"parse_mode": "Markdown",
|
||||
}
|
||||
response = requests.post(url, json=chunk_payload, timeout=30)
|
||||
response.raise_for_status()
|
||||
print(f"[{now.strftime('%Y-%m-%d %H:%M:%S')}] Mensagem enviada em {len(chunks)} parte(s).")
|
||||
except Exception as e:
|
||||
print(f"[{now.strftime('%Y-%m-%d %H:%M:%S')}] Erro ao enviar mensagem: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user