DevGang
Авторизоваться

Простой способ отправки сообщений в Telegram канал

Сегодня мы рассмотрим практические примеры, как отправить сообщение в канал Telegram или конкретному пользователю.

BotFather

Для того, чтобы сделать это, вам сначала необходимо:

  • Создать общедоступный канал Telegram
  • Создать Telegram BOT через BotFather
  • Установите бота в качестве администратора на своем канале

Теперь вы можете отправить сообщение в ваш канал, выполнив HTTP GET запрос к Telegram BOT API по следующему URL:

https://api.telegram.org/bot[BOT_API_KEY]/sendMessage?chat_id=[MY_CHANNEL_NAME]&text=[MY_MESSAGE_TEXT]

Где:

  • BOT_API_KEY - это ключ API, сгенерированный BotFather при создании вашего бота
  • MY_CHANNEL_NAME - название или ID вашего канала (например, @my_channel_name)
  • MY_MESSAGE_TEXT - сообщение, которое вы хотите отправить (в кодировке URL)

PHP

$apiToken = "my_bot_api_token";$data = [
   'chat_id' => '@my_channel_name',
   'text' => 'Hello world!'
];$response = file_get_contents("https://api.telegram.org/bot$apiToken/sendMessage?" . http_build_query($data) );

JAVA

String urlString = "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s";String apiToken = "my_bot_api_token";
String chatId = "@my_channel_name";
String text = "Hello world!";urlString = String.format(urlString, apiToken, chatId, text);URL url = new URL(urlString);
URLConnection conn = url.openConnection();StringBuilder sb = new StringBuilder();
InputStream is = new BufferedInputStream(conn.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String inputLine = "";
while ((inputLine = br.readLine()) != null) {
   sb.append(inputLine);
}
String response = sb.toString();

Python

import requests

api_token = 'MY_TOKEN'

requests.get('https://api.telegram.org/bot{}/sendMessage'.format(api_token), params=dict(
   chat_id='@my_channel_name',
   text='Hello world!
))

Я надеюсь, что эти тривиальные примеры могут быть полезны и помогут любому из вас начать изучать мир Telegram Bot API.

Комментарии 2
Alex Kachaev 18.04.2021 в 00:25

А как отправить через бот в канал не просто текст, а текст + картинку?

Smoque 15.02.2023 в 10:17

Пропущен пример отправки уведомления из баш-скрипта, дополняю.

Bash

ChatID="-несколько_цифр"
BoTokn="ИД_бота:???-сам_токен"

Notify(){ curl -s -X POST -H 'Content-Type: application/json' \ -d "{\"chat_id\": \"$ChatID\", \"text\": \"$1\", \"disable_notification\": true}" \ https://api.telegram.org/bot$BoTokn/sendMessage 2>&1 >/dev/null } ... Notify "Уместное сообщение с потребными $ПЕРЕМЕННЫМИ, например $PWD."

Чтобы оставить комментарий, необходимо авторизоваться