Project: TURRIS - komunikační program Telegram a notifikace

Pokud používáte TURRIS trošičku více, tak určitě využíváte emailové notifikace různých stavů. Chyběla mi možnost využití komunikačního kanálu Apple Push, která by se pro použití notifikací routeru vysloveně hodila. Naneštěstí tu máme program Telegram (kdo nezná, tak analogie oblíbeného WhatsApp nebo Viber), kde se dá vytvořit vlastní "robotický" uživatel (bot), který následně zasílá dané zprávy přímo na všechna připojená zařízení do Telegramu pod vaším účtem.

Pro každý návod je třeba mít připojen router prostřednictvím SSH, tedy v případě Windows doporučuji například program Putty. Tedy v konzoli musíte vidět:

root@turris:~#

1) Instalace

Nejprve se přepneme do adresáře "/tmp/":

cd /tmp/

Poté stáhneme Pip:

wget https://bootstrap.pypa.io/get-pip.py

Pip se začne stahovat:

root@turris:/tmp# wget https://bootstrap.pypa.io/get-pip.py
--2017-01-28 16:04:55--  https://bootstrap.pypa.io/get-pip.py
Resolving bootstrap.pypa.io... 151.101.112.175
Connecting to bootstrap.pypa.io|151.101.112.175|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1595408 (1.5M) [text/x-python]
Saving to: 'get-pip.py'

get-pip.py          100%[===================>]   1.52M  3.17MB/s    in 0.5s

2017-01-28 16:04:57 (3.17 MB/s) - 'get-pip.py' saved [1595408/1595408]

Provedeme spuštění skriptu, čímž se začne instalovat Pip a závislosti:

python get-pip.py

Balíčky si začnou stahovat a následně instalovat:

root@turris:/tmp# python get-pip.py
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |################################| 1.3MB 167kB/s
Collecting setuptools
  Downloading setuptools-34.1.0-py2.py3-none-any.whl (389kB)
    100% |################################| 399kB 471kB/s
Collecting wheel
  Using cached wheel-0.29.0-py2.py3-none-any.whl
Collecting six>=1.6.0 (from setuptools)
  Downloading six-1.10.0-py2.py3-none-any.whl
Collecting packaging>=16.8 (from setuptools)
  Downloading packaging-16.8-py2.py3-none-any.whl
Collecting appdirs>=1.4.0 (from setuptools)
  Downloading appdirs-1.4.0-py2.py3-none-any.whl
Collecting pyparsing (from packaging>=16.8->setuptools)
  Downloading pyparsing-2.1.10-py2.py3-none-any.whl (56kB)
    100% |################################| 61kB 1.6MB/s
Installing collected packages: pip, six, pyparsing, packaging, appdirs, setuptools, wheel
Successfully installed appdirs-1.4.0 packaging-16.8 pip-9.0.1 pyparsing-2.1.10 setuptools-34.1.0 six-1.10.0 
wheel-0.29.0

Poté pomocí Pip nainstalujeme "telegram-send":

pip install telegram-send

Začnou se stahovat závislosti i program a následně instalovat:

root@turris:/tmp# pip install telegram-send
Collecting telegram-send
  Downloading telegram_send-0.8.5-py2.py3-none-any.whl
Requirement already satisfied: appdirs in /usr/lib/python2.7/site-packages (from telegram-send)
Collecting python-telegram-bot>=2.8.3 (from telegram-send)
  Downloading python_telegram_bot-5.3.0-py2.py3-none-any.whl (154kB)
    100% |################################| 163kB 985kB/s
Collecting colorama (from telegram-send)
  Downloading colorama-0.3.7-py2.py3-none-any.whl
Collecting future>=0.15.2 (from python-telegram-bot>=2.8.3->telegram-send)
  Downloading future-0.16.0.tar.gz (824kB)
    100% |################################| 829kB 260kB/s
Collecting certifi (from python-telegram-bot>=2.8.3->telegram-send)
  Downloading certifi-2017.1.23-py2.py3-none-any.whl (382kB)
    100% |################################| 389kB 450kB/s
Collecting urllib3>=1.10 (from python-telegram-bot>=2.8.3->telegram-send)
  Downloading urllib3-1.20-py2.py3-none-any.whl (111kB)
    100% |################################| 112kB 924kB/s
Building wheels for collected packages: future
  Running setup.py bdist_wheel for future ... done
  Stored in directory: /root/.cache/pip/wheels/d8/26/6a/0d3jk3jd3yoa738s9d8safad28d3ss
Successfully built future
Installing collected packages: future, certifi, urllib3, python-telegram-bot, colorama, telegram-send
Successfully installed certifi-2017.1.23 colorama-0.3.7 future-0.16.0 python-telegram-bot-5.3.0 
telegram-send-0.8.5 urllib3-1.20

Vytvoříme adresář a konfigurační soubor:

mkdir /root/.config
touch /root/.config/telegram-send.conf

Tímto skončíme instalační část na routeru a budeme se věnovat zařízením.

2) Vytvoření bota

Vezmeme si tedy mobilní telefon a pokud nemáme, tak nainstalujeme aplikaci Telegram (iTunes AppStore, Google Play, Windows Phone). Po instalaci ji spustíme a projdeme průvodce (zadání tel. čísla, potvrzení,..).

Ve spuštěné aplikaci ve vyhledávání dáme vyhledat "BotFather" a po jeho nalezení jej rozklikneme. BotFather (otec botů) nám vypíše možné příkazy a my zadáme příkaz pro vytvoření nového bota:

/newbot

Spustí se vytváření nového bota a BotFather nás vyzve k zadání jména. Zde zadejte tedy jeho jméno. Dalším dotazem bude výběr uživatelského jména daného bota. Toto musí být v celém systému Telegramu naprosto unikátní. Zadejte tedy uživatelské jméno. Pokud je jméno volné, tak BotFather napíše gratulaci a zároveň vypíše tzv. přístupový token, který následně budete vkládat v rámci konfigurace do svého routeru.

3) Konfigurace

Nyní se budeme zabývat konfigurací routerové části a připojením k účtu. Zadáme tedy příkaz pro spuštění konfiguračního průvodce:

telegram-send --configure

Dojde ke spuštění průvodce, která nás žádá o vložení tzv. přístupového tokenu, který byl v předchozím kroku v aplikaci. Přepíšeme jej tedy a potvrdíme. Dále nám router vypíše jméno bota a heslo. V Telegramu bota vyhledáme a přidáme si ho do kontaktů a pro potvrzení vložíme heslo (na příkladu 12345), čímž dojde k propárování účtů:

Talk with the BotFather on Telegram (https://telegram.me/BotFather), create a bot and insert the token
❯ 12345678:KDSjcaif38dfa83dfa9a3-dsf3YdmnBQ2
Connected with VášNovýBot.

Please add VášNovýBot on Telegram (https://telegram.me/VášNovýBot)
and send it the password: 12345

Congratulations Franta!
telegram-send is now ready for use!

Ověříme funkčnost spojení zadáním zaslání testovací zprávy:

telegram-send message "První testovací zpráva"

Nyní by se zpráva měla automaticky doručit do mobilního telefonu nebo zařízení, které používáte. A můžete začít využívat této možnosti například v rámci vlastních skriptů ;)


Líbí se vám nebo pomohl vám text výše? Můžete mě pozvat na kávu. Sdílet na Facebooku Sdílet na Twitteru Vytisknout



Doporučuji: MePaBlu Copyright S474N ©2004-2024