Месенджер 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.
Використовуйте ці знання, щоб автоматизувати процеси спілкування та покращити взаємодію з вашими користувачами.
Залишити відповідь