Отправляем сообщения через telegram при помощи sh скрипта

Недавно появилась задачка — удобно отправлять спа… сообщения куче собеседников при помощи одного скрипта. Погуглив матчасть на этот момент — остановился на проекте Telegram-cli для *nix систем(говорят автор уже не занимается им, но он работает). Сразу оговорюсь, если рассылать очень много и очень часто — может забанить за PEER_FLOOD, и тогда придется делать новый аккаунт в телеграме. Но для оповещалки Заббикса оно работает чуть более, чем отлично.


Итак, начнем.

Для начала нам нужно установить из репозитория на гитхабе саму программу. Сам процесс установки прост и описан в Readme репозитория.

После установки нам надо будет зарегистрироваться через программу, запустив её:

bin/telegram-cli
Примерно так выглядит интерфейс программы

Теперь уже можно начать веселье. Для начала скопируем из папки tg файл tg-server.pub в папку tg/bin:

cp {telegram-cli-home}tg-server.pub {telegram-cli-home}/bin/tg-server.pub

В папке bin создадим файл contacts.csv, со списком контактов, которому будет рассылать сообщения с примерно таким содержимым:

79630000000,First,Contact,
79820000000,Another,Contact,

Запятая в конце строки обязательна для корректной работы IFS.

Также нужно создать файл text.txt в этой же папке, который мы будем использовать как содержимое, которое будет отправлять пользователям. Так сделано из-за того, что из скрипта вы не сможете отправить текст с пробелами в виду особенности работы скрипта.


Собственно сам скрипт выглядит в моем случае примерно так:

#!/bin/bash
#Author - Kostya Belykh
#k@belykh.su
list=contacts.csv
message=text.txt
while read lines
do
IFS=","
set - $lines
name=$2
surname=$3
phone=$1
(sleep 1; echo "add_contact "$phone" "$name" "$surname; sleep 2; echo "contact_list"; echo "send_text "$name"_"$surname" "$message; sleep 1; echo "safe_quit") | /tg/bin/telegram-cli -k tg-server.pub -W
done < $list

Собственно как это может пригодиться? 
а)Отличная оповещалка для заббикса (при появлении какого-либо события можно настроить выполнение sh скрипта для оповещения);
б)Рассылка оповещений клиентам;
в)Быстрое создание групп и добавление туда нужных контактов;
г)….
д)Профит.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.