Відправка повідомлень у Telegram

Відправка повідомлень у Telegram

Месенджер Telegram став одним із найпопулярніших інструментів для миттєвого спілкування, завдяки своїй зручності та функціональності. Його можна використовувати не лише для особистого спілкування, а й для автоматизації різних процесів, таких як сповіщення про події або надання інформації клієнтам. У цій статті ми розглянемо, як надсилати повідомлення в групи або канали Telegram через API бота.

Створення боту

Для початку потрібно створити бота за допомогою @BotFather. Знайдіть цього бота в Telegram і надішліть йому команди для створення нового бота. Заповніть необхідну інформацію, таку як назва та ім’я бота. Якщо всі дані введені правильно, BotFather надішле вам ваш botToken.

Додавання бота до чату або каналу

Після створення бота додайте його до чату або каналу. Щоб надіслати повідомлення у чат, нам потрібно знати його ID. Є декілька способів дізнатися ID чату:

1-й спосіб: Використання бота @getmyid_bot

  • Почніть переписку з цим ботом і пересилайте туди повідомлення з чату, в якому вам потрібно публікувати сповіщення.
  • У відповідь від бота ви отримаєте потрібну інформацію, включаючи ID чату.
Your user ID: 211******
Current chat ID: 211******
Forwarded from chat: -100**********

2-й спосіб: HTTP запит

Отримання ID чату за допомогою HTTP запиту

Для зручності рекомендую використовувати переглядач JSON. У адресному рядку браузера вставте наступний запит:

https://api.telegram.org/bot$bottoken/getUpdates

У відповідь сервер надішле JSON-відповідь

json

{
“ok”:true,
“result”:[
{
“update_id”:25631716,
“my_chat_member”:{
“chat”:{
“id”:-100000000000,
“title”:”000000000″,
“type”:”channel”
},
“from”:{
“id”:211000000000,
“is_bot”:false,
“first_name”:”000000000″,
“last_name”:”000000000″,
“username”:”000000000″
},
“date”:1727773398,
“old_chat_member”:{
“user”:{
“id”:7620000000,
“is_bot”:true,
“first_name”:”000000000″,
“username”:”000000000″
},
“status”:”left”
},
“new_chat_member”:{
“user”:{
“id”:7620000000,
“is_bot”:true,
“first_name”:”000000000″,
“username”:”000000000″
},
“status”:”administrator”,
“can_be_edited”:false,
“can_manage_chat”:true,
“can_change_info”:true,
“can_post_messages”:true,
“can_edit_messages”:true,
“can_delete_messages”:true,
“can_invite_users”:true,
“can_restrict_members”:true,
“can_promote_members”:false,
“can_manage_video_chats”:true,
“can_post_stories”:true,
“can_edit_stories”:true,
“can_delete_stories”:true,
“is_anonymous”:false,
“can_manage_voice_chats”:true
}
}
}
]
}

Нам потрібне поле ID, яке розташоване за адресою:

"result"->"my_chat_member"->"chat"->"id"

Якщо у розділі result відсутні вкладення, переконайтеся, що ви додали бота у канал або групу.

Використання функцій для відправки повідомлень

Тепер, коли ви отримали ID чату, ви можете використовувати функції для відправки повідомлень у Telegram-канали. Це відкриває безмежні можливості для автоматизації спілкування: від автоматичних сповіщень про новини до систем підтримки клієнтів.

PowerShell

function Send-TelegramMessage {
    param (
        [string]$BotToken,   # Токен бота, який отриманий при створенні бота в Telegram
        [string]$ChatID,     # ID чату або групи, куди буде надіслане повідомлення
        [string]$Message     # Текст повідомлення, яке потрібно надіслати
    )

    # Формуємо URL для API запиту
    $url = "https://api.telegram.org/bot$BotToken/sendMessage"

    # Створюємо тіло запиту з параметрами (ID чату і повідомлення)
    $body = @{
        chat_id = $ChatID
        text    = $Message
    }

    # Виконуємо POST-запит для надсилання повідомлення
    try {
        $response = Invoke-RestMethod -Uri $url -Method Post -ContentType "application/json" -Body ($body | ConvertTo-Json)

        # Перевіряємо, чи успішно надіслано повідомлення
        if ($response.ok) {
            Write-Host "Повідомлення надіслано успішно!"
        } else {
            Write-Host "Помилка: Повідомлення не було надіслане."
        }
    } catch {
        # Обробка виключень, якщо запит не вдалося виконати
        Write-Host "Помилка при виконанні запиту: $_"
    }
}

# Приклад виклику функції
$BotToken = "7627******:***********************************"   # Введіть свій токен
$ChatID = "-100000000000"    # Введіть свій ID чату
$Message = "Test reports in PowerShell"  # Повідомлення для надсилання

Send-TelegramMessage -BotToken $BotToken -ChatID $ChatID -Message $Message

Bash

#!/bin/bash

# Функція для надсилання повідомлення в Telegram
SendTelegramMessage() {

    local BotToken="$1"   # Токен бота
    local ChatID="$2"     # ID чату або групи
    local Message="$3"     # Текст повідомлення

    # Формуємо URL для API запиту
    local url="https://api.telegram.org/bot$BotToken/sendMessage"

    # Виконуємо POST-запит для надсилання повідомлення
    response=$(curl -s -X POST "$url" -H "Content-Type: application/json" -d '{
        "chat_id": "'"$ChatID"'",
        "text": "'"$Message"'"
    }')
}


# Приклад виклику функції
BotToken="7627******:***********************************"   # Введіть свій токен
ChatID="-100000000000"    # Введіть свій ID чату
Message="Test reports in Bash"  # Повідомлення для надсилання

SendTelegramMessage "$BotToken" "$ChatID" "$Message"

Для детальнішого вивчення, будь ласка, зверніться до офіційної документації Telegram API.

Використовуйте ці знання, щоб автоматизувати процеси спілкування та покращити взаємодію з вашими користувачами.


Останні публікації

  • PowerShell для роботи з файловою системою: Поради та хитрощі
    PowerShell значно спрощує управління файлами та папками завдяки інтуїтивному синтаксису та широким функціональним можливостям. Застосовуючи вищезгадані поради, ви зможете працювати з файловою системою швидше й ефективніше, автоматизуючи більшість рутинних завдань.
  • PowerShell та Active Directory: Практичні приклади автоматизації
    PowerShell є потужним інструментом для автоматизації роботи з Active Directory. Він дозволяє: Ефективно управляти обліковими записами. Швидко налаштовувати доступи та політики. Проводити аудит змін для підвищення безпеки. Постійна автоматизація процесів в AD не лише економить час, а й забезпечує надійну й структуровану роботу IT-інфраструктури.
  • PowerShell для адміністраторів: Автоматизація рутинних завдань
    PowerShell — це інструмент, який значно полегшує роботу адміністраторів. Завдяки його функціональності ви зможете автоматизувати безліч рутинних завдань, підвищити ефективність роботи та мінімізувати помилки. Інвестуючи час у вивчення PowerShell, ви відкриєте нові можливості для управління вашими системами. Почніть з базових команд і поступово переходьте до створення складних сценаріїв!

Коментарі

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *