Telegram instant message gateway

From Luniwiki
Jump to: navigation, search

Overview

Telegram is a cell phone app to send instant messages (Like WhatsApp app). Telegram is open, and allows to send instant messages by scripts. So we install telegram-cli on server to send notification directly to Tech team cell phones.

Solution building

Telegram-cli download and compilation

We download and compile the client.

apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
git clone --recursive https://github.com/vysheng/tg.git && cd tg
./configure
make

Installation as a daemon

We create the user telegram and copy execution files:

adduser telegramd
mkdir /var/lib/telegram-daemon
chown telegramd:telegramd /var/lib/telegram-daemon 
mkdir /usr/share/telegram-daemon
mkdir /usr/share/telegram-daemon/bin
cp bin/telegram-cli /usr/share/telegram-daemon/bin/
cp start-telegram-daemon /usr/share/telegram-daemon/bin
mkdir /etc/telegram-daemon
mkdir /var/log/telegram-daemon
chown telegramd:telegramd /var/log/telegram-daemon
mkdir /etc/telegram-cli
cp server.pub /etc/telegram-cli/server.pub

Service init file /etc/init.d/telegram-daemon:

root@support:/etc/init.d# cat telegram-daemon
#! /bin/sh
### BEGIN INIT INFO
# Provides:          telegram-daemon
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: telegram daemon
# Description:       telegram daemon
### END INIT INFO
# Author: fizzzel
# actions
case "$1" in
   start)
       echo "Telegram daemon is starting..."
       /usr/share/telegram-daemon/bin/telegram-cli vvvvRC -k /etc/telegram-cli/server.pub -W -dL /dev/null -P 1234 &
       echo "...done"
       ;;
   stop)
       echo "stopping telegram daemon..."
       sudo pkill telegram
       echo "..done"
       ;;
   restart)
       echo "stopping telegram daemon..."
       pkill telegram
       sleep 1
       pkill telegram
       echo "..done -- restarting..."
       /usr/share/telegram-daemon/bin/telegram-cli vvvvRC -k /etc/telegram-cli/server.pub -W -dL /dev/null -P 1234 &
       echo "...done"
       ;;
esac
exit 0

When daemon is started, we can send instant message with telegram-cli by telnet or nc to port 1234.

references

Daniel Simao (talk) 14:41, 20 July 2018 (EDT)