@mikaevnikita

Как отправить много фото с помощью Telegram Bot Api, Python?

Пишу бота с помощью PyTelegramBotApi , возникла нужда отсылать много фото, желательно одним сообщением(вместе с текстом), ну или в нескольких сообщениях. Каждый раз возникает ошибка, не дает отсылать. Может быть есть какой то метод в API который позволяет производить множество однотипных операций, или есть способ прислать много фото?
Спасибо большое
Вот вообщем код :
for j in vkarr[2]:
time.sleep(.25)
urllib.request.urlretrieve(j,'temp.jpg')
img=open('temp.jpg','rb')
bot.send_chat_action(message.from_user.id, 'upload_photo')
bot.send_photo(message.from_user.id,img)
img.close()
Вот собственно ошибки:
2017-04-11 12:15:23,893 (apihelper.py:42 WorkerThread2) DEBUG - TeleBot: "The server returned: 'b'{"ok":false,"error_code":400,"description":"Bad Request: IMAGE_PROCESS_FAILED"}''"
2017-04-11 12:15:23,893 (util.py:60 WorkerThread2) DEBUG - TeleBot: "Exception occurred"
2017-04-11 12:15:23,894 (__init__.py:250 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request. Response body:
[b'{"ok":false,"error_code":400,"description":"Bad Request: IMAGE_PROCESS_FAILED"}']"
2017-04-11 12:15:23,894 (__init__.py:257 MainThread) INFO - TeleBot: "Waiting for 0.25 seconds until retry"
  • Вопрос задан
  • 9261 просмотр
Пригласить эксперта
Ответы на вопрос 2
@ISQman
Прогрессирующий лентяй
у меня решился вопрос так:
bot.send_media_group(chatid,
[InputMediaPhoto(msg.message.photo.file_id),
InputMediaVideo(msg.message.video.file_id)])
Ответ написан
Комментировать
@xdgadd
ML/Python/Cpp
Telegram Bot API не предоставляет таких механизмов. Если вы хотите отправить несколько фотографий - сделайте цикл.
def send_many(photos, id):
    for p in photos:
        bot.send_photo(id, p)

Еще можно присылать ссылки обычными сообщениями, телеграм прогрузит фотки.
Чтобы красиво выглядело, оберните url в тег и установите parse_mode="HTML":
bot.send_message(id, '<a href="IMG_URL">&#8203;</a>',
                 parse_mode="HTML")

P.S. У телеграма есть ограничение на количество сообщений в минуту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы