ntfy ntfy traz notificação à sua concha. Ele pode fornecer automaticamente notificações de desktop quando os comandos em execução longos terminarem ou podem enviar notificações push ao seu telefone quando um comando específico terminar. Confuso? Este vídeo demonstra parte dessa funcionalidade:
$ sudo pip install ntfy
$ ntfy send test
# send a notification when the command `sleep 10` finishes
# this sends the message '"sleep 10" succeeded in 0:10 minutes'
$ ntfy done sleep 10
$ ntfy -b pushover -o user_key t0k3n send ' Pushover test! '
$ ntfy -t ' ntfy ' send " Here's a custom notification title! "
$ echo -e ' backends: ["pushover"]npushover: {"user_key": "t0k3n"} ' > ~ /.ntfy.yml
$ ntfy send " Pushover via config file! "
$ ntfy done --pid 6379 # pid extra
$ ntfy send " :tada: ntfy supports emoji! :100: " # emoji extra
# Enable shell integration
$ echo ' eval "$(ntfy shell-integration)" ' >> ~ /.bashrc A técnica de instalação no Quickstart é o método sugerido de instalação. Ele pode ser instalado em um VirtualEnv, mas com algumas advertências: as notificações do Linux requerem --system-site-packages para as notificações VirtualEnv e OS X não funcionam.
? NOTA: As notificações de desktop do Linux requerem ligações de Python DBUS. Veja aqui para mais informações.
ntfy possui suporte para enviar automaticamente notificações quando os comandos de longa duração terminarem em Bash e Zsh. Em Bash, emula a funcionalidade Preexec e PRECMD de Zsh com rcaloras/bash -pexec. Para habilitá -lo, adicione o seguinte ao seu .bashrc ou .zshrc :
eval " $( ntfy shell-integration ) " Por padrão, ele enviará apenas notificações para comandos com duração superior a 10 segundos e se o terminal estiver focado. O foco do terminal funciona no X11 (Linux) e no Terminal.app e Iterm2 no macOS. Ambas as opções podem ser configuradas por meio das opções --longer-than e --foreground-too .
Para evitar notificações desnecessárias ao executar programas interativos, os programas listados em AUTO_NTFY_DONE_IGNORE não geram notificações. Por exemplo:
export AUTO_NTFY_DONE_IGNORE= " vim screen meld "ntfy possui alguns recursos que requerem dependências extras.ntfy done -p $PID requer instalação como pip install ntfy[pid]pip install ntfy[emoji]pip install ntfy[xmpp]pip install ntfy[telegram]pip install ntfy[instapush]pip install ntfy[slack]pip install ntfy[rocketchat] Para instalar vários extras, separado com vírgulas: por exemplo, pip install ntfy[pid,emoji] .
ntfy ntfy está configurado com um arquivo YAML armazenado em ~/.ntfy.yml ou em locais específicos da plataforma padrão:
~/.config/ntfy/ntfy.yml~/Library/Application Support/ntfy/ntfy.ymlC:Users<User>AppDataLocaldschepntfy.ymlA tecla back -end especifica o que se apóia a usar por padrão. Cada back -end tem sua própria configuração, armazenada em uma chave de seu próprio nome. Por exemplo:
---
backends :
- pushover
pushover :
user_key : hunter2
pushbullet :
access_token : hunter2
simplepush :
key : hunter2
slack :
token : slacktoken
recipient : " #slackchannel "
xmpp :
jid : " [email protected] "
password : " xxxx "
mtype : " chat "
recipient : " [email protected] "Se você deseja configurações de Mulitple para o mesmo tipo de back -end, você pode especificar qualquer nome e especificar o back -end com uma chave de back -end. Por exemplo:
---
pushover :
user_key : hunter2
cellphone :
backend : pushover
user_key : hunter2 Consulte os back -end abaixo para obter back -ends e opções disponíveis. A partir da v2.6.0, ntfy também suporta back -ends de terceiros
pushoveruser_keysoundpriorityexpireretrycallbackapi_token - use seu próprio token de aplicativodevice - Alvo um dispositivo, se omitido, a notificação é enviada a todos os dispositivosurlurl_titlehtmlpushbulletaccess_token - seu token de acesso ao PushBullet, criado em https://www.pushbullet.com/#settings/accountdevice_iden - Um identificador de dispositivo, se omitido, a notificação é enviada a todos os dispositivosemail - Envie notificação para o usuário do pushbullet com o email especificado ou envie um email se eles não forem um usuário do Pushulletsimplepushkey - Sua tecla SimplePush, criada pela instalação do aplicativo Android (sem registro necessário) em https://simplepush.ioevent - Define o padrão de toque e vibração para notificações de entrada (pode ser definido no aplicativo SimplePush)xmppjidpasswordrecipienthostname (se não for de jid)portpath_to_certsmtype Requer extras, instale assim: pip install ntfy[xmpp] .
Para verificar os certificados SSL oferecidos por um servidor: PATH_TO_CERTS = "PATH/TO/CA/CERT"
Sem a biblioteca DNSPython instalada, você precisará especificar o nome do host do servidor se não corresponder ao JID.
Especifique a porta se não mais 5222. Nota: Ignorada sem nome de host especificado
Nota: o Google Hangouts não suporta XMPP desde 2017
telegram Requer extras, instale assim: pip install ntfy[telegram] .
Requer que ntfy seja instalado como ntfy[telegram] . Este back -end é configurado na primeira vez que você tentará usá -lo: ntfy -b telegram send "Telegram configured for ntfy" .
pushjetsecret -o Token Secreto do Serviço de PushJet, criado com http://docs.pushjet.io/docs/creating--new-serviceendpoint - endpoint API de pushJet personalizadolevel - o nível de importância de 1 (baixo) a 5 (alto)linknotificowebhook - o link webhook, criado em https://n.tkte.ch/Plain Text ao criar o webhook)slack Requer extras, instale assim: pip install ntfy[slack] .
token -The Slack Service Secret Token, um token de usuário herdado criado em https://api.slack.com/custom-integrações/legacy-tokens ou um token obtido criando um APP em https://api.slack.com/Apps chat:write:botrecipient - o canal ou usuário do Slack para enviar notificações. Se você usar o símbolo # a mensagem será enviada para um canal Slack e se você usar o símbolo @ a mensagem será enviada para um usuário do Slack.slack_webhookurl - o URL do webhook que entrauser - o canal ou usuário do Slack para enviar notificações parainsta Requer extras, instale como este pip install ntfy[instapush] .
Instapush não suporta o título de notificação. Ele envia notificações orientadas por modelos, então você deve configurar os eventos no painel primeiro. O back -end é chamado insta devido à homonímia com o instapush python wrapper
appid - o ID do aplicativosecret - o segredo do pedidoevent_name - o evento instapush a ser usadotrackers - a variedade de trakers para usarNota nos rastreadores: os rastreadores são reservados para eventos (uma espécie de modelo de notificação). Se você definiu mais de um rastreador, no caso, precisará fornecer mais mensagens. No momento, a única maneira de fazer isso é separar cada mensagem com um cólon (:) personagem. Você também pode escapar do personagem separador: Exemplo:
ntfy -b insta send " message1:message2 "
ntfy -b insta send " message1:message2:with:colons "prowlapi_keyprovider_keypriorityurllinuxFunciona via DBUS, trabalha com a maioria dos DES como Gnome, KDE, XFCE e com Libnotify.
As seguintes dependentes devem ser instaladas.
$ sudo apt install python-dbus # on ubuntu/debianVocê precisará instalar uma fonte que suporta emojis (em fontes-símbola ou gentoo-fontes/símbola).
icon - Especifica o caminho para o ícone de notificação, string vazia para nenhum ícone.urgency - especifica o nível de urgência (baixo, normal, crítico).transient - Pule a história (exp: a bandeja de mensagens do gnome) (verdadeira, falsa).soundfile - Especifica o arquivo de som de notificação (por exemplo, /usr/share/sounds/notif.wav).timeout - Especifica o nível de tempo de expiração da notificação (-1 - padrão do sistema, 0 - nunca expire).win32 Usa pywin32 .
darwin Requer que ntfy seja instalado globalmente (não em um VirtualENV).
systemlog Usa o módulo Python syslog Core, que não está disponível nas plataformas do Windows.
prio - Nível de prioridade do syslog. O padrão está ALERT . Valores possíveis são:
facility - Instalação Syslog. O padrão é LOCAL5 . Valores possíveis são:
fmt - Formato da mensagem a ser enviado ao logger do sistema. O título e a mensagem são especificados usando os seguintes espaços reservados:
{title}{message} O padrão é [{title}] {message} .
termux Requer que o aplicativo seja instalado na Play Store e o utilitário CLI seja instalado com apt install termux-api .
pushalotauth_token - seu token de autenticação de pushalot particular, encontrado aqui https://pushalot.com/manager/authorizationssource - Fonte da notificaçãottl - Mensagem expira o tempo em minutos (hora de viver)url - URL para incluir nas notificaçõesurl_title - título de URL visível (ignorado se nenhum URL especificado)image - URL da imagem incluída nas notificaçõesimportant - Marcar notificações como importantessilent - Marque as notificações como silenciosasrocketchat Requer extras, instale assim: pip install ntfy[rocketchat] .
url - URL do seu foguete.Chat Instânciausername - Nome de usuário de loginpassword - Login Senharoom - Nome da sala/canal para postar emmatrix Requer extras, instale assim: pip install ntfy[matrix] .
url - URL da sua instância do seu servidorroomId - espaço para postar emuserId - Login UserIDpassword - Login Senhatoken - Acesso Token Você deve especificar token , ou userId e password .
ntfy_webpush O suporte do WebPush é fornecido por um módulo NTFY externo, instale como este: pip install ntfy ntfy-webpush .
subscription_info - Um objeto de descrição de pushsprivate_key - o caminho para o arquivo de chave privado ou qualquer outra coisa que funcione com o Pywebpush.Para mais informações, consulte NTFY-webpush <https://github.com/dschep/ntfy-webpush> `_
Para usar ou implementar seus próprios back -end, especifique o caminho completo do módulo como seu back -end. O módulo precisa conter um módulo com uma função chamada notify com a seguinte assinatura:
def notify ( title , message , ** kwargs ):
"""
kwargs contains retcode if using ntfy done or ntfy shell-integration
and all options in your backend's section of the config
"""
passO título é configurável com a chave do título na configuração. Exemplo:
---
title : Customized Titlepython setup.py test