Не удается отправить изображения через Telegram-бота

#python #bots #telegram #telegram-bot #py-telegram-bot-api

Вопрос:

Когда я даю команду, она просто не реагирует. Все остальные мои команды работают нормально. Я использую pytelegrambotapi .

Мой код-

 import telebot
from PIL import Image
import requests
from io import BytesIO
    
#This is my image link
IMAGE_LINK = "https://pixabay.com/images/id-1127657/"
    
@bot.message_handler(commands=['image'])
def image(message):
    response = requests.get(IMAGE_LINK)
    img = Image.open(BytesIO(response.content))
    #send the photo
    bot.send_photo(message.chat.id, img)
 

Комментарии:

1. Я думаю, что вы отправляете html, а не фотографию, учитывая ссылку, которую вы передаете. Вы также можете поймать любое исключение, которое может вызвать функция send_photo, и посмотреть, в чем заключается фактическая проблема.

Ответ №1:

Ваш URL-адрес изображения неверен, он переходит на страницу с другими элементами вместе с самим изображением. Правильный URL-адрес для вашего изображения:: https://cdn.pixabay.com/photo/2016/01/08/11/49/text-1127657_960_720.jpg

Также вы можете передать эту ссылку send_photo напрямую, таким образом, Telegram сам загрузит и отправит фотографию с URL-адреса:

 IMAGE_LINK = "https://cdn.pixabay.com/photo/2016/01/08/11/49/text-1127657_960_720.jpg"


@bot.message_handler(commands=['image'])
def image(message):
    bot.send_photo(message.chat.id, IMAGE_LINK)
 

Комментарии:

1. Эй, вы можете сказать, что я должен ввести в файл требований, чтобы развернуть этот код в Heroku?

2. Эй. Создайте для этого еще один вопрос, чтобы его могли задать и другие.