
Na minha rotina de trabalho, nem sempre entro no painel do WordPress. Por isso, eventualmente sou surpreendido com múltiplas atualizações pendentes de plugins ou do próprio WordPress. Por uma questão de controle sobre o código, eu não deixo as atualizações automáticas ativadas, então, seria interessante poder receber uma notificação sempre que uma nova versão de algo dentro do ecossistema do WordPress estivesse disponível.
Seria muito útil se eu pudesse usar o Telegram para receber um aviso sempre que surgisse uma atualização disponível. O monitor deveria apenas avisar: a instalação de cada atualização continuaria sendo uma tarefa minha. Aqui, vale uma ressalva: existem plugins que podem enviar um e-mail com essa finalidade, mas eu gostaria de configurar o alerta especificamente para o Telegram, que é um app que uso apenas para fins profissionais. Além de ser um desafio interessante de configuração.
Para testar a ideia, usei o site do TSHS, hospedado em um plano Turbo da HostGator, e uma VPS NVMe 4 da HostGator com o GatorClaw instalado. A solução consulta o WordPress diariamente e envia ao Telegram a lista de atualizações e versões disponíveis. O GatorClaw ajudou a montar e testar a rotina, identificou uma limitação no seu agendador e sugeriu contornar isso configurando a execução pelo cron da própria VPS. O primeiro disparo automático desse agendamento funcionou ainda no dia do teste.
Veja também: GatorClaw vale a pena? Testamos a nova ferramenta de IA da HostGator (Review)
No alerta final, havia três plugins com atualizações pendentes. A quantidade mudou ao longo dos testes, refletindo o que o WordPress informava em cada consulta e provando que o alerta faz as verificações em tempo real.
O que foi necessário para fazer o monitor funcionar
O projeto reúne quatro peças:
- Um pequeno plugin no WordPress expõe, em uma rota protegida da API REST, as atualizações disponíveis.
- Um script na VPS acessa essa rota com uma senha de aplicativo e prepara a mensagem.
- Outro script envia o texto ao bot do Telegram pela API do serviço.
- Um comando agendado no cron do Linux executa diariamente a rotina de envio. O GatorClaw criou o arquivo que inicia a rotina, configurou o cron e verificou o resultado no log.
O monitor não instala atualizações nem altera nada no site. Ele apenas consulta os dados mantidos pelo WordPress. Quando não há pendências, nenhuma mensagem é enviada, e quando ocorre um erro de consulta, o problema é informado.
Os scripts de cada etapa serão fornecidos ao longo do artigo.
1. Criar uma rota protegida no WordPress
O WordPress informa atualizações no painel, mas eu precisava de uma resposta simples para a VPS consultar. Para isso, adicionei o arquivo tshs-update-monitor.php à pasta wp-content/mu-plugins/, na minha instalação do WordPress. Arquivos PHP colocados diretamente nesse diretório são carregados como plugins must-use, sem a etapa de ativação dos plugins comuns. Se você quiser saber mais, este link da documentação do WordPress explica esse funcionamento.
O arquivo cria a rota /wp-json/tshs-monitor/v1/updates. A resposta reúne atualizações de core, plugins e temas, com os nomes, as versões instaladas, as versões disponíveis e as respectivas contagens. A rota foi limitada ao usuário tshs-monitor, criado com o papel de Assinante. Esse usuário foi criado apenas para essa finalidade.
Para permitir a consulta externa, gerei no perfil desse usuário uma senha de aplicativo. Ela serve para autenticar a requisição à API por HTTPS e pode ser revogada separadamente da senha de acesso ao painel. A documentação de autenticação da API REST descreve esse mecanismo.
Esse detalhe foi decisivo no teste. Com a senha comum do usuário, a requisição retornou HTTP 401. Com a senha de aplicativo, retornou HTTP 200 e o JSON esperado. Para conferir a rota pelo terminal, usei:
curl -i --user tshs-monitor \
'https://tudosobrehospedagemdesites.com.br/wp-json/tshs-monitor/v1/updates'O terminal pede a senha após executar o comando. É nesse momento que se digita a senha de aplicativo, que não é exibida no terminal, por padrão. Requisições sem autenticação vão sempre retornar 401 – acesso negado.
Se você quiser adaptar o exemplo para outro site é necessário ajustar no plugin o nome do usuário permitido e consultar o endereço da própria instalação.
2. Fazer a consulta pela VPS
Para realizar a consulta pela VPS onde o GatorClaw está instalado, preparei um script em Python, que você pode baixar aqui. Lembre-se: para usá-lo em outros sites é necessário alterar os valores em URL, USER e SECRET_FILE, logo no início do arquivo.

Esse arquivo foi enviado para /opt/devclaw/workspace/, na VPS. Ele consulta a rota, confere se os totais correspondem aos itens recebidos e monta o texto do alerta. A senha de aplicativo fica fora do código, no arquivo /opt/devclaw/private/tshs-monitor-app-password, com permissão 600.
Para criar esse arquivo sem gravar a senha no histórico do terminal, use o script a seguir:
install -d -m 700 /opt/devclaw/private
umask 077
read -r -s -p 'Senha de aplicativo do WordPress: ' TSHS_MONITOR_PASSWORDNeste passo, o terminal vai solicitar a senha de aplicativo que você gerou para o usuário que faz a consulta. O texto entre aspas simples é apenas a pergunta exibida pelo terminal. A senha é digitada depois. Cole-a no terminal e prossiga com o script:
printf '\n'
printf '%s' "$TSHS_MONITOR_PASSWORD" > /opt/devclaw/private/tshs-monitor-app-password
unset TSHS_MONITOR_PASSWORD
chmod 600 /opt/devclaw/private/tshs-monitor-app-passwordO script passa a credencial ao curl pela entrada padrão, sem colocá-la nos argumentos do processo.
Para validar a consulta, rode no terminal da VPS:
python3 /opt/devclaw/workspace/tshs-gatorclaw-consulta.pyAo longo dos testes, a lista de atualizações disponíveis variou. O monitor mostra as informações disponíveis no WordPress no instante da execução.
3. Conectar o Telegram e testar o envio
Na sequência, criei um bot no Telegram e o conectei ao GatorClaw pelo painel. Esse processo é bem simples e leva menos de um minuto. O próprio painel do GatorClaw exibe o passo a passo na seção de “Canais”.
É fundamental também copiar o seu ID de usuário no Telegram. Para isso, inicie uma conversa com o @userinfobot, no Telegram com o comando /start. Seu ID de usuário será exibido na hora.
Com o ID numérico do meu chat e o token do bot em mãos, salve-os em arquivos privados da VPS, com permissão 600. Para isso, você pode usar um script como o demonstrado a seguir:
install -d -m 700 /opt/devclaw/private
umask 077
read -r -s -p 'Token do bot Telegram: ' TSHS_BOT_TOKENInsira no terminal o token do bot, gerado pelo Telegram na criação do mesmo. E continue:
printf '\n'
printf '%s' "$TSHS_BOT_TOKEN" > /opt/devclaw/private/tshs-telegram-bot-token
unset TSHS_BOT_TOKEN
read -r -s -p 'ID numérico do chat Telegram: ' TSHS_CHAT_IDInsira o chat ID e continue:
printf '\n'
printf '%s' "$TSHS_CHAT_ID" > /opt/devclaw/private/tshs-telegram-chat-id
unset TSHS_CHAT_ID
chmod 600 /opt/devclaw/private/tshs-telegram-bot-token \
/opt/devclaw/private/tshs-telegram-chat-id
ls -l /opt/devclaw/private/tshs-telegram-*Como demonstrado acima, é importante não rodar todo o script de uma só vez no terminal, pois será necessário inserir o token do bot e o chat ID. A opção -s impede que ele apareça na tela; ls -l mostra as permissões sem revelar o conteúdo. Os dois arquivos devem aparecer com -rw------- (600).
Para o alerta automático, criei um script, o tshs-alerta-telegram.py. Ele chama a consulta anterior e entrega o resultado pelo método sendMessage da API de bots do Telegram. O envio dessa rotina usa diretamente a API do Telegram, com o token e o ID do chat guardados fora do código.
Se você for usar este script, lembre-se de alterar os caminhos de MONITOR, TOKEN_FILE e CHAT_FILE, logo no início do script.
Para testar o script, basta rodar no terminal o comando abaixo. Adapte o caminho e o nome do arquivo de acordo com o seu ambiente.
python3 /opt/devclaw/workspace/tshs-alerta-telegram.pyRecebi ALERTA_ENVIADO: Telegram confirmou o recebimento. no terminal e a mensagem apareceu imediatamente no aplicativo. Com a consulta e o envio funcionando, faltava executar esse mesmo script automaticamente todos os dias.
4. Pedir ao GatorClaw que configure a execução diária
Como o GatorClaw já estava instalado na VPS, tentei criar a recorrência pelo painel. Ele conseguia executar o script sempre que solicitado, mas as tarefas agendadas daquela instalação trataram as instruções como lembretes para executar o comando. Algumas tentativas também encontraram diferenças de permissão entre o chat do painel e o Telegram. Em resumo, o agendador interno não conseguiu disparar o script como uma tarefa de sistema neste teste.
Diante do problema, o próprio GatorClaw sugeriu uma alternativa: criar um pequeno wrapper em Bash para executar o Python e registrar início, saída e fim em um arquivo de log. Pedi que ele criasse esse wrapper e o testasse.
Para reproduzir essa etapa no chat do GatorClaw, o prompt pode ser esse:
Crie um wrapper em Bash para executar '/usr/bin/python3 /opt/devclaw/workspace/tshs-alerta-telegram.py'. Grave no log a hora de início, a saída do comando, o código de retorno e a hora de término. Teste o wrapper e mostre o log. Depois, configure no crontab do sistema a execução diária às 09h30 e confirme a entrada criada.Então pedi ao assistente que configurasse um cron real do sistema para executar o wrapper todos os dias às 09h30. Foi o GatorClaw, pelo chat do painel, que colocou o agendamento na VPS e depois consultou o log. A entrada informada por ele foi:
30 9 * * * /bin/bash /opt/devclaw/workspace/run-tshs-alerta-telegram.shNessa linha, 30 9 * * * significa “às 09h30 todos os dias” no fuso horário usado pelo serviço de cron da VPS. No meu caso, o fuso horário é “América/Sao_Paulo”, que corresponde ao horário de Brasília.
Assim, o funcionamento ficou da seguinte forma: o arquivo /opt/devclaw/workspace/run-tshs-alerta-telegram.sh, criado pelo GatorClaw, executa /usr/bin/python3 /opt/devclaw/workspace/tshs-alerta-telegram.py e grava a saída em /opt/devclaw/workspace/logs/tshs-alerta-telegram.log.
O wrapper e o cron são recursos do Linux. A contribuição do GatorClaw aqui foi propor, configurar e testar essa solução a partir do chat, depois que seu agendador interno não atendeu à tarefa. Os dois scripts Python continuam responsáveis pela consulta ao WordPress e pelo envio via API do Telegram.
O alerta chegou na execução automática?
Sim. Tanto nos testes manuais quanto na configuração automática os alertas chegaram com sucesso no Telegram, no horário agendado.
Se você quiser, pode pedir para o GatorClaw conferir as execuções.
E quanto ao consumo de tokens?
O consumo de tokens do GatorClaw ocorre apenas na fase de implementação, já que você vai usar o assistente para configurar os scripts e arquivos com senha.
Uma vez configurado o monitoramento, não há mais consumo de tokens, pois o agendamento é feito pelo Cron do Linux e os scripts acessam por conta própria as APIs do WordPress e do Telegram.
Vale a pena fazer esse monitoramento com o GatorClaw?
O papel do GatorClaw foi ajudar a configurar a parte operacional, criar os scripts, instalar a tarefa no cron no Linux e verificar a execução. Seria possível implementar algo do tipo em uma VPS sem o GatorClaw? Com certeza! No entanto, o fato do assistente ter acesso ao sistema operacional Linux com privilégios suficientes para criar e editar arquivos facilita muito o trabalho.
Considero que o objetivo inicial do projeto foi atingido com sucesso. Uma vez implementado, eu não preciso mais me preocupar em dar nenhum tipo de manutenção ao monitor.
O GatorClaw é a proposta da HostGator para facilitar a configuração e a operação do OpenClaw, com instalação pronta na VPS, interface visual e configuração guiada. Para saber mais, leia o nosso review do GatorClaw ou acesse diretamente a página do produto no site da HostGator.










