Отправить фото без сжатия telebot
Есть вот такой код:
def send_skin(message, skin_id: int):
conn = sqlite3.connect('db.sqlite3')
cursor = conn.cursor()
cursor.execute("""SELECT name, path, description, author FROM skins WHERE id = ?""", (skin_id,))
skin = cursor.fetchone()
cursor.close()
conn.close()
photo = open(f'skins/{skin[1]}', 'rb')
bot.send_photo(message.chat.id, photo, caption=f'Name: {skin[0]}\nDescription: {skin[2]}\nAuthor: {skin[3]}')
Он отправляет .png картинку пользователю, НО пользователь получает .jpeg, что очень плохо так как прозрачный фон исчезает. Можно ли как-то отправлять пользователю фото в .png? Пробовал через send_document. Все ок и телега видит его как пнг, но вот скачивается он в неизвестном формате, что опять таки плохо. Перепробовал все, в гугле пусто на эту тему. Очень не хочу подключать файлообменники и архивацию этого всего чтобы отправить через send_document(так все работает, но это и лишняя нагрузка, и трата времени пользователя)
Ответы (1 шт):
Автор решения: DblNbKA
→ Ссылка
with open("photos/photo.jpg", "rb") as file:
bot.send_document(message.chat.id, document=file)