WAN в Telegram
Начнем с простой задачи, необходимо узнать внешний WAN адрес. Была статья уже со скриптом (Отправка на email ip адрес wan), здесь мы упрощаем задачу.
Для решения задачи будем использовать PowerShell, и так берем строчку и получаем на выходе WAN адрес сети:
|
1 |
(curl flammlin.com/pi -UserAgent "curl").Content |
Теперь отправляем сообщение в Telegram пользователю, выглядит это вот так:
|
1 2 3 4 5 6 |
$wanip = (curl flammlin.com/pi -UserAgent "curl").Content $bot_token = "Токен бота" $URL = "https://api.telegram.org/bot$bot_token/sendMessage" $id = "id пользователя, которому отправляется сообщение" $message = "*WAN* ip Адрес: $wanip" Invoke-WebRequest -Method Post -Uri $URL -ContentType "application/json;charset=utf-8" -Body (ConvertTo-Json -Compress -InputObject @{chat_id=$id; text=$message}) |
Все красиво, все работает, задачу можно закрывать, НО кодировка кириллицы приходит в ????
Переписываем код, что бы сообщение приходило в Telegram в нормальной кодировке, а так же скрипт умел понимать форматированный текст:
|
1 2 3 4 5 6 7 8 9 10 |
$wanip = (curl flammlin.com/pi -UserAgent "curl").Content $bot_token = "Токен бота" $URL = "https://api.telegram.org/bot$bot_token/sendMessage?chat_id=$id&text=$message" $id = "id пользователя, которому отправляется сообщение" $message = "*WAN* ip Адрес: $wanip" $payload = @{ "parse_mode" = "Markdown"; "disable_web_page_preview" = "True"; } $request = Invoke-WebRequest -Uri $URL -Method Post -ContentType "application/json;charset=utf-8" -Body (ConvertTo-Json -Compress -InputObject $payload) |
Думаю найти применение для данного скрипта можно найти всегда…
