Клиент-серверное приложение для отправки уведомлений в Telegram.
smsq - клиент. Добавляет сообщения в очередь на отправку. Принимает следующие аргументы и опции:
- --plaintext/-t - отключить интерпретацию разметки в сообщении
- --low/-L - отправить сообщение с низким приоритетом (без звука)
- --high/-H - отправить важное сообщение (звук включён, независимо от времени суток)
- --debug/-d - включить вывод отладки в консоль
- - имя очереди для добавления сообщения. Обязательный параметр
- - текст сообщения для отправки
Клиент ищет конфиг в следующих папках:
- .
- /etc
- /spool
Минимальный конфиг должен содержать адрес сервера NATS:
{
"nats_server": "nats://<nats.server.org>:4222"
}
Пример использования:
smsq -t sms.hg_test.alerts.mon 'Hello, World!'
Добавит сообщение "Hello, World!" в очередь "sms.hg_test.alerts.mon" как простой текст
smss - сервер. Слушает заданную очередь NATS и отправляет извлечённые сообщения в Telegram. Конфиг:
{
"tg_apitoken": "<Telegram API token>",
"working_hours": [8, 22],
"chats": {
"sms.queue.project.subj": <chat/channel ID>
},
"nats_server": "nats://<nats.server.org>:4222",
"nats_queue": "<queue>",
"nats_project": "<project>"
}
Где:
- tg_apitoken - Токен бота Telegram
- working_hours - Рабочие часы, когда сообщения от бота будут приходить без звука
- chats - список чатов/каналов/контактов для которых будут отправлены сообщения из очереди. Сообщения из очереди, которых нет в списке, будут проигнорированы
- nats_server - адрес сервиса очередей NATS
- nats_queue - очередь, часть имени адресата
- nats_project - проект, часть имени адресата
Запуск:
smss '*'
Запустить сервер и слушать все сабжи из очереди (см. конфиг)
В данном случае, все события из очередей sms.<queue>.<project>.*
будут отправлены в Telegram.
Можно слушать какой-то один subj:
smss mon
-> sms.<queue>.<project>.mon
Для отладки сервер можно запустить с опцией --debug: smss --debug mon
smsc - отправляет сообщения напрямую в Telegram.
В конфиге sms.json должны быть явно перечисленны имена каналов/чатов/контактов Очередь NATS не используется. Может сбоить из-за проблем с коннектом до серверов Telegram
sms - ранняя инкарнация проекта - "Всё в одном". Включает все вышеперечисленные части. Режим работы определяется набором опций:
- --server - сервер очереди
- --queue - клиент очереди
Или прямая отправка сообщения по умолчанию, если ни одной опции не указано