Как заставить бота отправить картинку в телеграм?
возникла проблема с отправкой картинки в телеграм чат. Использую библиотеку Telebot. При попытке отправки фотографии появляется ошибка кодировки: "UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 395: character maps to ", ошибка связанная с Юникодом. Но причем тут вообще Юникод, когда отправляю я картинку?.. Игнорирование ошибок не помогает. Есть ощущение, что я чего-то конкретно недопонимаю. Подскажите пожалуйста, какие варианты решения/обходные пути имеются? Вот код:
import telebot
bot = telebot.TeleBot(*токен*)
file_photo = open('C:\Bots\HappyCelebrationBot\HappyBirthday2.jpg', 'r')
@bot.message_handler(content_types=['text'])
def send_pic(message):
global file_photo
if message.text == 'Привет':
bot.send_photo(chat_id=message.from_user.id, photo=file_photo)
file_photo.close()
bot.polling(none_stop=True, interval=0)
Ответы (1 шт):
Автор решения: Тимур Васильев
→ Ссылка
Вместо file_photo = open('C:\Bots\HappyCelebrationBot\HappyBirthday2.jpg', 'r')
Используйте file_photo = open('C:\Bots\HappyCelebrationBot\HappyBirthday2.jpg', 'rb')