Я создал бота, который отправляет файлы с внешнего сервера с помощью URL.
Я хочу, чтобы бот отправлял файлы прямо с вашего сервера.
Что я делаю не так? Почему не сработала команда open ()
?
import telebotbot = telebot.TeleBot ("Token") @ bot.message_handler ( commands = ['start', 'help']) def send_start_message (message): bot.reply_to (message, «Привет.») @ bot.message_handler (func = lambda m: True) def echo_all (message): print (message .text) duck = open ('duck.png', 'r') bot.send_photo (message.chat.id, duck) bot.send_message (message.chat.id, "привет") bot.polling ()
Вам необходимо указать, чтобы использовать двоичный режим ;
duck = open ('duck.png', 'rb')
Подробнее о open()
Минимальный рабочий пример для отправки локального изображения:
import telebotbot = telebot.TeleBot (" ") cid = img = open ('image.jpg', 'rb') bot.send_photo (cid, img)