Based on: https://github.com/lblasc/cabot-alert-slack
This is an alert plugin for the cabot service monitoring tool. It allows you to alert users using a Telegram chat room.
Enter the cabot virtual environment:
$ pip install cabot_alert_telegram
$ foreman stop
or:
$ pip install git+git://github.com/codesyntax/cabot_alert_telegram.git
$ foreman stop
Edit `conf/*.env`:
CABOT_PLUGINS_ENABLED=cabot_alert_telegram=0.6
...
TELEGRAM_BOT_TOKEN=bot_token
TELEGRAM_CHAT_ID=id of the chat where messages will be sent
Add cabot_alert_telegram to the installed apps in settings.py:
$ foreman run python manage.py syncdb
$ foreman start
Add manually an instance of the Alert Plugin (sometimes it is not added automatically):
$ ssh ubuntu@server
$ source venv/bin/activate
$ cd cabot
$ foreman run -e conf/production.env python manage.py shell # point to the correct production.env file
Python 2.7.3 (default, Dec 18 2014, 19:10:20)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from cabot_alert_telegram.models import TelegramAlert
>>> ta = TelegramAlert()
>>> ta.title = u'Telegram'
>>> ta.save()
>>> (Ctrl-D to exit)
You need to create a Telegram bot which will be used to send the messages to the users. To create a new Telegram Bot check the official documentation at https://core.telegram.org/bots
You need to create a new Group Chat, add all your users to that chatroom and add also the Bot there.
To get the chat id, open https://telegram.me and select the group chat you previously created. Check the URL, it will be something like this:
https://web.telegram.org/#/im?p=g99999999
You need to not the value of p parameter (g99999999) and exchange g with a -: -99999999
This is a bit hacky, but I don't know any other way to get the group id.