Без рубрики
Python: Отправка нескольких изображений в Телеграм
Пример как отправить несколько изображений в Телеграм, используя Telegram Bot API и Requests с помощью метода /sendMediaGroup
Если задать caption только для первой изображения, то будет “текст для отправки” будет отображён как сообщение. Если задать для каждого изображения, то текст будет виден только при открытии картинки.
Таким методом можно отправлять от 2 до 10 изображений. Для отправки видео в “type” поменяйте с “photo” на “video”
import requests
TOKEN = "ваш токен"
CHAT_ID = "айди чата/канала"
request_url = "https://api.telegram.org/bot" + TOKEN + "/sendMediaGroup"
params = {
"chat_id": CHAT_ID
, "media":
"""[
{
"type": "photo"
, "media": "attach://random-name-1"
,"caption": "текст для отправки"},
{
"type": "photo"
, "media": "attach://random-name-2"}
]"""
}
files = {
"random-name-1": open("/data1.png", "rb") #ссылка на локальный файл
, "random-name-2": open("/data2.png", "rb")#ссылка на локальный файл
}
result = requests.post(request_url, params= params, files= files)
print(result.text)
Официальная документация Telegram для метода /sendMediaGroup: https://core.telegram.org/bots/api#sendmediagroup
Parameter | Type | Required | Description |
---|---|---|---|
chat_id | Integer or String | Yes | Unique identifier for the target chat or username of the target channel (in the format @channelusername ) |
media | Array of InputMediaAudio, InputMediaDocument, InputMediaPhoto and InputMediaVideo | Yes | A JSON-serialized array describing messages to be sent, must include 2-10 items |
disable_notification | Boolean | Optional | Sends messages silently. Users will receive a notification with no sound. |
reply_to_message_id | Integer | Optional | If the messages are a reply, ID of the original message |
allow_sending_without_reply | Boolean | Optional | Pass True, if the message should be sent even if the specified replied-to message is not found |