Telegram + PowerShell
Я бы наверное обходил эту тему с ботами стороной довольно таки долго, пока бы и дальше не осознал, что это удобно! А чем может быть удобно? Мессенджер находится онлайн 24 часа в сутки — а это значит хороший способ уведомить о проблеме.
Для начала потребуется завести учетку в телеграмме, после найти в списках главного бота — @BotFather. Используя подсказки бота, можно легко создать своего бота, назначить ему имя и получить токен для доступа к HTTP API.
Так как пока у нас только в понимании PowerShell, то берем простой код:
|
1 2 3 4 5 6 7 8 9 |
param( [string]$id, [string]$message ) $bot_token = "КЛЮЧ-ТОКЕН" $uri = "https://api.telegram.org/bot$bot_token/sendMessage" $id = "КОМУ СЛАТЬ" Invoke-WebRequest -Method Post -Uri $uri -ContentType "application/json;charset=utf-8" ` -Body (ConvertTo-Json -Compress -InputObject @{chat_id=$id; text=$message}) |
Который в последствии может быть изменен, а именно можно будет добавить переменную с картинкой (для отсылки картинки). Но это отдельный проект 🙂 Плюс, возникла у меня проблема с кодировкой. Работают боты с utf-8 и пока как его обучить работать с win-1251 я не понял.
А использовать я стал его в следующей работе.
В планировщике созданы три задачи: ошибки с дисками + отключение/включение UPS.
Запускаю скрипт командой
|
1 2 |
powershell -noprofile -File C:\Users\Администратор\Documents\Telegram-sender\Telegram.ps1 -message ~ "UPS Enable - Из-за отключения электроэнергии источник бесперебойного питания переведен на питание от батареи." |
В планах прикрепить к скрипту возможность отправки фото + объединить все это с вебкой. Но, чуть позже…



