Telegram давно уже мой основной мессенжер, и вот, решил я разобраться, как отправлять сообщения из CLI себе в клиент TG, а попутно, понял что это можно использовать и как канал уведомлений от mikrotik'ов. Для этого надо в Telegram найти бота @BotFather,  Далее отправляем команду на создание нового /newbot,  Называем его как нравится, в данном примере - My CLI Bot. Следующий вопрос: username для бота. Он должен заканчиваться на bot, и быть уникальным, для этого примера пусть будет mysuper_cli_uniq_test_bot Итак, мы получили API ключ, который можно использовать дальше. Есть потребность чтобы бот присылал сообщение не персонально, а в группу, чтобы другие участники могли видеть результаты? Организовываем! Создаем группу, добавляем туда нашего бота, добавляем туда бота RawDataBot, который нам сообщает id нашего группового чата.  Так, теперь мы знаем ID чата, (в моем примере: -703498699), и дальше уже добавленного бота RawDataBot можно удалить из группы, а номер чата будем использовать в следующих шагах. Если группу создавать не требуется, то бот будет присылать сообщения Вам. Для этого надо открыть диалог с этим ботом, и нажать кнопку Start. А в настройках скриптов указывать в качестве ID номер ID аккаунта в Telegram, узнать его можно у того же бота @RawDataBot.  Самый простой, не особо полезный вариант: Слегка изменим вариант: Отправка файла: Надо либо использовать абсолютный путь, либо относительно текущего каталога, ( ~ не принимается). Можно ещё упростить жизнь - добавим возможность исполнять желаемое в shell.rc файл (в моем случае это ~/.zshrc, в bash почти так же)открываем ~/.bashrc (или ~/.zshrc) и добавляем туда вот это: После этого в консоли перечитываем rc файл (или открываем новую консоль)source ~/.bashrc И в итоге можно отправлять сообщения по типу такого: msg2tg "проверка отправки сообщения из консоли"msg2tg "`uptime`" или даже, как например: Ну и файлы: file2tg ./Pictures/429889.jpg file2tg /var/spool/asterisk/monitor/2022/07/11/_some_name.wav  > /dev/null 2>&1 добавлено для того чтобы возврата результата в консоль не было, для диагностики же полезно бывает видеть ответ от сервера  Не стоит забывать, что для ботов размер отправки файлов ограничен до 50 мегабайт, а сообщений - в количестве знаков. И не более 20 ботов на один аккаунт.Ознакомиться с ограничениями в целом можно тут, ну и следует почитать и FAQ и документацию по API. Ещё примеры как это использовать из bash скриптов. Делаем некий after_start.sh, делаем для этого файла chmod + x, сохраняем его в какой нибудь типа /usr/local/bin/after_start.sh, далее создаем например /etc/systemd/system/msg_after_start.service, в котором напишем: А затем, не забыть ещё включить сервис: systemctl enable msg_after_start.service После, такой скрипт добавляем к примеру в crontab и получаем искомое с какой-то периодичностью. Настраиваем планировщик на запуск этого скрипта например раз в неделю, и будем получать уведомления в телеграм когда бекап начался, когда закончился, и какие были результаты. Ну и тут я вспомнил про уведомления с микротиков, и подумал, может быть полезным.. Открываем WebUI или WinBox, или быть может консоль по ssh, короче заходит на нужный Mikrotik, и после Log in переходим system -> Scripts, создаем новый, назовем его например msg2tg Следует обратить внимание на отправляемый текст, в этом блоке разумно описать название оборудования которое будет высылать уведомления, для того чтобы настроив такое на нескольких, можно было бы различать от которого из них пришло уведомление.Я для удобства отправляю в две строки.  Таким образом, у нас получился скрипт, который будем вызывать из последующих (так сэкономим байты памяти, да и при необходимости поправить адреса́та будет легко это сделать для всех зависимых потомков). Теперь, ну пусть будет скрипт для уведомлений о запуске операционной системы: Задержка в начале нужна, чтобы соединения с интернетом уже поднялись, и только уже после этого выполнять отправку сообщения.  И ещё один скрипт, например, для мониторинга за доступностью оборудования:   А теперь настроим планировщик. Переходим System -> Scheduler, и создаем новое заданиеmsg2tg_after_start_plan, где в поле "On Event" прописываем название созданного скрипта, как это выше было - msg2tg_after_start.rsc, время запуска (Start Time), для этого скрипта указываем Startup, а интервал будет равен 0, таким образом оно будет запускаться лишь единожды, после старта системы. Второй план для планировщика, это проверка доступности оборудования, для него мы так же создаем новую запись, где в поле On Event указываем правильное название для скрипта, а интервал запуска настраиваем например на 1 час. Теперь, когда вдруг оборудование будет не в сети, то в клиент телеграма прилетит уведомление: Для начала уже то, что получилось вроде бы хорошо.