Отправка сообщений в Telegram через PowerShell

Алгоритм отправки сообщений в телегу через PowerShellДобрый день. Сегодня дошли руки до заявки, где один из скриптов, отслеживающих состояние учетных записей Active Directory из VIP направления перестал отправлять сообщения в телеграм группу. В статье я разберу метод отправки сообщений в телегу, научу находить ID группы, создадим своего бота и дадим ему права, а так же небольшой траблшутинг. Уверен, что начинающим системным администраторам данный материал будет полезен, для понимания общего принципа мониторинга через Telegram.

Ошибка The remote server returned an error: (400) Bad Request

Анализируя лог выполнения скрипта, в нем были строки:

2025.10.06 12:09:30 Trying to send Telegram notification
2025.10.06 12:09:30 The remote server returned an error: (400) Bad Request.
2025.10.06 12:09:30 StatusCode:
2025.10.06 12:09:30 StatusDescription: Bad Request
2025.10.06 12:09:40 Cannot open database "Script_Exceptions" requested by the login. The login failed.

чаще всего такая ошибка появляется, когда вы пытаетесь при отправке использовать не тот ID чата либо не тот токен доступа. Из изменений у данной группы был сменен администратор и предыдущая учетная запись была удалена, забегая вперед это по всей видимости и привело к изменению chat_id.

Еще может быть интересным - Методы установки Windows 11 25H2

Как посмотреть ID у группы телеграм

Я буду использовать методы без сторонних ботов, именно то, что предлагает сам Телеграм. Для того чтобы получить chat_id у частной Телеграм группы или канала есть два метода.

  1. Включить настройку в десктопной версии
  2. Воспользоваться веб-версией Телеграм

Включение отображения chat_id в десктопной версии Telegram

Я не особо люблю веб версии, поэтому всегда если есть возможность использую приложение. Отображение ID групп является дополнительной, экспериментальной настройкой. Перейдите в настройки Telegram, для этого найдите в меню значок шестеренки.

Запуск настроек Telegram

Переходим в "Продвинутые настройки - Экспериментальные настройки - Show Peer IDs in Profile"

Show Peer IDs in Profile

После активации данной опции, вы можете зайти в любую группу и сразу увидеть появившееся поле ID.

Просмотр ID группы в Телеграм

Просмотр ID группы/чата через веб-версию

Переходим в веб-версию Telegram:

https://web.telegram.org/

Перейдите в нужную группу, все что будет идти после #- и есть ваш ID.

Просмотр ID группы в Телеграм через веб

Поздравляю, теперь у вас есть ID группы/чата/канала, но для отправки еще перед этим номером нужно добавить -100. Пример -1001234567890

Создание бота для отправки сообщений в группу Telegram

Имея на руках chat_id вы теперь должны к нему через что-то обращаться, для этого создается персональный бот. Перейдите в Телеграме в @BotFather.

@BotFather - это официальный бот-инструмент в Telegram, созданный разработчиками мессенджера для регистрации и управления всеми другими ботами. Это главный сервис, через который пользователи могут создавать новых ботов, настраивать их внешний вид и функционал.

Пишем в нем или выбираем команду:

/start и затем /newbot

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

Это позволит вам создать вашего бота. Задайте ему имя в формате:

имя бота_bot иначе будет сообщение об ошибке. В моем примере это будет test_vip_users_bot.

Если все хорошо, то вы получите "token to access the HTTP API".

Получение токена в BotFather

теперь вам нужно перейти в ваш новый бот и написать ему любое сообщение. Далее перейдите в настройки группы и добавьте его как участника, с правами писать сообщения.

Добавление бота в группу Телеграм

Метод отправки сообщений в Telegram через PowerShell

Теперь откройте PowerShell ISE и воспользуйтесь таким кодом

$botToken = "ваш токен полученный при генерировании бота"
$chatId = "-100ID вашего чата/группы"
$messageText = "тестовое сообщение для отправки v2"

$uri = "https://api.telegram.org/bot$botToken/sendMessage"
$body = @{
chat_id = $chatId
text = $messageText
}

Invoke-RestMethod -Uri $uri -Method Post -Body $body -ErrorAction Stop

В результате у вас будет успешно отправлено сообщение в группу. Если будут ошибки, то, скорее всего, на 99% у вас неправильный токен, нехватает прав или не тот chat_id.

Отправка тестового сообщения в Telegram

На этом все. Как видите отправка телегу через PowerShell очень простая вещь. С вами был Иван Семин, автор и создатель данного портала.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий