ВОЙТИ
    opened image

    В этой статье мы обсудим, как отправлять сообщения в Telegram с помощью PowerShell. PowerShell - это оболочка командной строки и язык сценариев, разработанный Microsoft для автоматизации и управления системными задачами.

    Telegram - популярный сервис мгновенного обмена сообщениями, который предоставляет API для взаимодействия с его сервисами. Это означает, что вы можете использовать PowerShell для автоматической отправки сообщений в Telegram.

     

    Создание бота в Telegram

     

    Перед тем, как начать отправлять сообщения через PowerShell, вам нужно создать бота в Telegram. Вот шаги, которые вам нужно выполнить:

    1. Напишите @BotFather в поисковой строке Telegram. Это официальный бот для создания других ботов в Telegram.
    2. Нажмите на кнопку "Start" или "Начать", чтобы начать взаимодействие с ботом.
    3. Введите команду "/newbot" и следуйте инструкциям. Вам придется выбрать имя и имя пользователя для вашего бота.
    4. После создания бота, BotFather предоставит вам токен доступа. Этот токен будет использоваться для авторизации запросов к API Telegram.

     

     

     

    PowerShell и Telegram API

     

    Теперь, когда у вас есть бот и токен доступа, вы можете использовать PowerShell для отправки сообщений через Telegram API. Вот базовый пример скрипта PowerShell для отправки сообщения:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    $botToken = "Ваш токен"
    $chatID = "Ваш ид чата"
    $messageText = "Test massage"
    $url = "https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=$messageText"
    
    Invoke-RestMethod -Uri $url -Method Post
    

     

    В этом примере мы используем команду PowerShell Invoke-RestMethod, чтобы отправить POST-запрос к Telegram API. $botToken - это токен доступа, который вы получили от BotFather, $chatID - это идентификатор чата, в который вы хотите отправить сообщение, а $messageText - это текст сообщения, который вы хотите отправить.

    Чтобы узнать идентификатор чата, вы можете отправить боту любое сообщение, а затем перейти по адресу https://api.telegram.org/botВашТокен/getUpdates в вашем браузере. Вы увидите идентификатор чата в ответе.

     

     

    Рассмотрим небольшой скрипт который будет отправлять сообщение что будет показывать работает сервер или нет.

     

    Для проверки доступности сервера можно использовать команду PowerShell Test-Connection, которая аналогична команде ping в командной строке. Вот пример скрипта, который отправляет сообщение в Telegram, в зависимости от того, доступен сервер или нет:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    $botToken = "Ваш токен"
    $chatID = "Ваш ид чата"
    $serverIP = "IP сервера"
    
    # Проверяем доступность сервера
    if (-not (Test-Connection -ComputerName $serverIP -Count 1 -Quiet)) {
        $messageText = "Server down!."
    
        $url = "https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatID&text=$messageText"
    
        Invoke-RestMethod -Uri $url -Method Post
    }
    

     

     

    В этом примере, команда Test-Connection проверяет доступность сервера. Если сервер недоступен, то Test-Connection возвращает False, и благодаря оператору -not, условие в if становится True. Тогда скрипт отправляет сообщение "Внимание! Сервер недоступен" в Telegram. Если сервер доступен, скрипт не делает ничего.

     

     

    Теперь вы можете добавить этот скрипт в планировщике, для выполнения его, например, каждые 30 мин. Как это сделать мы рассмотрим следующей статье 

     

    Вывод

    PowerShell и Telegram API предоставляют мощные инструменты для автоматизации обмена сообщениями. Будьте осторожны и не делитесь токеном доступа, идентификатором чата и другими конфиденциальными данными.