Download the PHP package rumd3x/cptm-alerts without Composer
On this page you can find all versions of the php package rumd3x/cptm-alerts. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rumd3x/cptm-alerts
More information about rumd3x/cptm-alerts
Files in rumd3x/cptm-alerts
Package cptm-alerts
Short Description Alerta sobre mudanças de status nas linhas dos trens e metrôs de São Paulo diretamente no canal do Slack.
License MIT
Informations about the package cptm-alerts
CPTM Alerts
Notificações em tempo real sobre mudanças de status nas linhas dos trens e metrôs de São Paulo diretamente no canal do Slack.
Getting started
Workspace
- Você precisará de um Workspace no slack. Se não tiver crie-o
Token
-
Você precisará gerar um token para o seu Workspace se comunicar com o projeto.
- Para isso crie um App no seu Workspace
-
Após criado o App, vá até Bot Users no menu lateral e crie um Bot para seu App.
- Após criado o Bot, vá até OAuth & Permissions no menu lateral. Na seção Scope dê a permissão chat:write:bot e bot para o seu App. Será solicitado que o App seja reinstalado no Workspace para as novas permissões.
- Após dadas as permissões e reinstalado o App salve a Bot User OAuth Access Token ela será necessária para configurar o projeto.
Configurando o Projeto
Rodando via Docker
-
Crie um container do projeto com o comando:
- Substitua os valores para as chaves
SLACK_KEY
eSLACK_CHANNEL
. -
Os parametros
NOTIFY_LEVEL
,NOTIFY_DAYS
eNOTIFY_LINES
são opcionais e podem ser omitidos. - Para rodar em produção recomendo que crie um volume para manter a persistencia dos dados e para ter acesso aos logs da aplicação.
Rodando Local
-
Baixe o projeto para uma pasta em sua maquina:
-
Vá até a pasta do projeto:
cd cptm-alerts
. -
Instale as dependências:
composer install
(Não é necessário caso tenha baixado via composer create-project). -
Crie o seu arquivo de configurações do projeto:
cp .env.example .env
. -
Edite o arquivo
.env
. EmSLACK_CHANNEL
coloque o canal do slack em que o bot publicará as alterações de status. EmSLACK_KEY
coloque o Bot User OAuth Access Token salvo anteriormente. -
Para verificar o status das linhas execute
php /caminho/do/projeto/run.php
. - Para receber automaticamente as mudanças de status coloque o comando num cron. Exemplo:
Configurações de ambiente
No arquivo .env
(ou nas flags --env
ou -e
do docker) é onde são armazaneadas as configurações e existem possibilidades de personalização no comportamento da aplicação.
NOTIFY_LEVEL
A configuração NOTIFY_LEVEL
deve conter um número inteiro válido e representa o menor nível de criticidade que a aplicação notificará.
Os níveis existentes são:
- Exemplo:
Se desejar receber notificações em todos os níveis deverá configurar para NOTIFY_LEVEL=0
. Se não quiser receber notificações de mudanças já esperadas trocar para NOTIFY_LEVEL=1
. Se quiser receber apenas notificações de paralização NOTIFY_LEVEL=3
.
NOTIFY_DAYS
A configuração NOTIFY_DAYS
diz os dias que deverão ser enviadas notificações. Deve conter os dias que as notificações serão enviadas separados por vírgula.
Os valores são:
- Exemplo:
Para receber notificações todos os dias use
NOTIFY_DAYS=all
. Para receber notificações somente em dias da semana useNOTIFY_DAYS=1,2,3,4,5
.
NOTIFY_LINES
A configuração NOTIFY_LINES
diz as linhas dos trens/metrô que deverão ser monitoradas. Deve conter o numero das linhas separados por vírgula.
Os valores são:
- Exemplo:
Para receber notificações de todas as linhas
NOTIFY_LINES=all
. Para receber notificações somente da linha azul e amarela useNOTIFY_LINES=1,4
.
Debugando
Se você fez tudo acima corretamente e não está recebendo notificações em seu canal do slack:
- Verifique se o composer foi executado corretamente
- Verifique a saída do php nos logs do cron (Ou execute o comando redirecionando a saída para um arquivo).
- Verifique os logs do projeto no arquivo
/caminho/do/projeto/Storage/Logs/app.log
- Verifique se o usuário rodando o php está no grupo de permissões correto
- Verifique se o arquivo .env tem permissão de leitura
- Verifique se a pasta Storage tem permissão de escrita
Todo
- Aumentar o Coverage de Testes Unitários
- Refactor para suportar mais provedores além da CPTM.
- Adicionar suporte a IFTTT Trigger.
All versions of cptm-alerts with dependencies
rumd3x/php-persistence Version ^1.0
php-http/curl-client Version ^1.7
vlucas/phpdotenv Version ^2.5
guzzlehttp/guzzle Version ^6.3
monolog/monolog Version ^1.24
nesbot/carbon Version ^2.7
tightenco/collect Version ^5.7
rumd3x/slack-notifier Version ^0.2
rumd3x/notifier-interface Version ^1.0