Page 1 of 6

[1.3] Telegram Push notifications

Posted: Fri Oct 20, 2017 11:37 am
by baggins
Hi,

In another project I use Telegram to receive push notifications on my phone so I thought it would be nice to have the same in NEMS.
It is actually quite simple to set this up.

For those interested, here are the steps:

1) Get a Telegram account (it is free!): https://telegram.org/
After setting up your account you will have a bot and a chat id.

2) install lua-sec (this will also install lua-socket):

Code: Select all

sudo apt-get install lua-sec
3) Install the following script in /usr/local/bin:
Name the script 'telegram_nems.lua'
This is a simple lua script I wrote just to get this working, so it is really minimal without error checking etc...

Code: Select all

#!/usr/bin/lua
https = require('ssl.https')
local telegram_url = 'https://api.telegram.org/<your bot>/sendMessage?'
local chat_id = '<your chat id>'

      Notification = "Notification Type: " .. arg[1] ..'\n'    --$NOTIFICATIONTYPE$
      Host = "Host: " .. arg[2] ..'\n'                         --$HOSTNAME$
      State = "State: " .. arg[3] ..'\n'                       --$HOSTSTATE$/$SERVICESTATE$
      Address = "Address: " .. arg[4] ..'\n'                   --$HOSTADDRESS$
      Info = "Info: "  .. arg[5] ..'\n'                        --$HOSTOUTPUT$/"$SERVICEOUTPUT$"
      Date_Time = "Date/Time: " .. arg[6] ..'\n'               --$LONGDATETIME$
    if (#arg == 6) then
      message = '***** Nagios ***** ' ..'\n' ..'\n' .. Notification .. Host ..State .. Address .. Info .. Date_Time
    else 
      Service = "Service: " .. arg[7] .. '\n'                  --$SERVICEDESC$
      message = '***** Nagios ***** ' ..'\n' ..'\n' .. Notification .. Host  .. Service ..State .. Address .. Info .. Date_Time
    end

local data_str = 'chat_id=' .. chat_id .. '&text=' .. message..''  
local res, code, headers, status = https.request(telegram_url, data_str)
4) In NConf, add the following to Misccommands:

Code: Select all

command_name                          notify-host-by-telegram
command_line                          /usr/local/bin/telegram_nems.lua "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$HOSTSTATE$" "$HOSTADDRESS$" "$HOSTOUTPUT$" "$LONGDATETIME$"

Code: Select all

command_name                          notify-service-by-telegram
command_line                          /usr/local/bin/telegram_nems.lua "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$SERVICESTATE$" "$HOSTADDRESS$" "$SERVICEOUTPUT$" "$LONGDATETIME$" "$SERVICEDESC$"
As usual: use at your own risk!

RE: Telegram Push notifications

Posted: Fri Oct 20, 2017 1:00 pm
by Robbie Ferguson
Wow baggins - am I reading this right? You can use this to get push notifications from NEMS to your phone?

I love it! And I appreciate your sharing the code.

Cool to include this in NEMS 1.3?

RE: Telegram Push notifications

Posted: Fri Oct 20, 2017 3:24 pm
by baggins
I have the messages on both my iPhone and iPad Image

The script needs some polishing, but feel free to include it in 1.3.

I'm glad being able to contribute to the fine work that you have done with NEMS!

RE: Telegram Push notifications

Posted: Mon Oct 23, 2017 5:48 am
by Robbie Ferguson
Awesome-- thanks!

If you make any "polishing" changes to it, please post here. I'll probably be feature locked within the next week or so... so if you want to fix anything up, this'd be the best time to get that in before 1.3.

Cheers,
Robbie

RE: Telegram Push notifications

Posted: Mon Oct 23, 2017 9:43 am
by Robbie Ferguson
Your commands made it into NEMS 1.3! https://docs.nemslinux.com/changelog_1.3

Congratulations, and thanks again for your contribution.

RE: Telegram Push notifications

Posted: Wed Oct 25, 2017 8:39 am
by Robbie Ferguson

RE: Telegram Push notifications

Posted: Wed Oct 25, 2017 9:31 am
by Robbie Ferguson
baggins, I'm in the process of setting up my test system and writing the documentation for this, but can't figure out where the Chat ID and Bot ID are located within the app. Can you please clarify the steps from a freshly-activated Telegram account to obtain these two credentials?

Thanks!

RE: Telegram Push notifications

Posted: Fri Oct 26, 2018 10:34 am
by Kaganishu
Hi Robbie, do you have solved your issue? Regards

RE: Telegram Push notifications

Posted: Fri Oct 26, 2018 7:53 pm
by Robbie Ferguson
Hi Kaganishu. This is an old bug report. I thought it had been addressed. Are you experiencing the same issue?

RE: Telegram Push notifications

Posted: Sat Oct 27, 2018 2:42 am
by Kaganishu
Hi again, you're referring to documentation's page https://docs.nemslinux.com/usage/notify-host-by-telegram?