Skip to content

Instantly share code, notes, and snippets.

@dschulz
Last active November 9, 2019 13:22
Show Gist options
  • Save dschulz/81ee0b7408a3453f3d15a9f549d9a231 to your computer and use it in GitHub Desktop.
Save dschulz/81ee0b7408a3453f3d15a9f549d9a231 to your computer and use it in GitHub Desktop.

Envío de notificaciones con /tool fetch desde scripts

Telegram

  1. Registrar un bot en BotFather y copiar el botid
  2. Averiguar el chat_id del grupo donde se quieren entregar los mensajes. Google is your friend.
  3. Crear un script en el router con el nombre telegram y el siguiente contenido:
Versiones pre 6.44:
:global tgMessage
:local botid
:local chatid

set botid "672533351:AAG_yj6vKm9HIVBSDFGSDFGSDFGSDFG2a40"
set chatid "-2842234298" 


if ($tgMessage != "") do={

   /tool fetch  keep-result=no  mode=https http-content-type="application/json"  url="https://api.telegram.org/bot$botid/sendMessage" http-data="{ \"chat_id\": \"$chatid\" , \"text\": \"$tgMessage\" }"
   
   set tgMessage ""
}

Versiones pos 6.44

La opcion http-content-type="application/json" de la herramienta tool fetch se eliminó y ahora hay que usar http-header-field="content-type: application/json".

:global tgMessage
:local botid
:local chatid

set botid "672533351:AAG_yj6vSDFGSDFGgsdfgsdfgIwSa2a40"
set chatid "-28426345648" 


if ($tgMessage != "") do={
   /tool fetch  keep-result=no  mode=https http-method=post http-header-field="content-type: application/json"  url="https://api.telegram.org/bot$botid/sendMessage"   http-data="{ \"chat_id\": \"$chatid\" , \"text\": \"$tgMessage\" }"
   /log warn "Telegram enviado"
   set tgMessage ""
}

Uso del script telegram

En otro script o contexto, fijar la variable global tgMessage y luego invocar el script telegram

:global tgMessage ("AP HPE volvio a responder")
/system script run telegram

Mattermost

  1. Crear webhook en la Consola de Sistema de Mattermost y copiar el URL
  2. Crear un script en el router con el nombre mattermost y el siguiente contenido
:global mmMessage

:global routerName [/system identity get name]

:global mensaje ("Router: $routerName\nMensaje:\n$mmMessage")


if ($mmMessage != "") do={
   /tool fetch url="https://mattermost.midominio.com.py/hooks/3bphuipej7bg3de1txk5xfayyw" http-data="{ \"text\": \"$mensaje \" }"   keep-result=no  mode=https http-content-type="application/json"
   set mmMessage ""
}

Uso del script mattermost

En otro script o contexto, fijar la variable global mmMessage y luego invocar el script mattermost

:global mmMessage ("AP HPE volvio a responder")
/system script run mattermost
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment