danural
@danural
Junior Python Dev

Ответная отправка файлов в Telebot?

Пишу Telegram-бота на Python при помощи библиотеки PyTelegramBotApi, или же Telebot. Мне нужно реализовать эхо-бота, но только с файлами или фотографиями, например:
Команда /start, заливаешь фотографию, бот отправляет еë тебе обратно. Можно ли так сделать? В документации не нашел. Вот все,что пока есть:

import telebot

bot = telebot.TeleBot("...")

@bot.message_handler(commands=["start"])
def send(message):
	bot.send_message(message.chat.id, "Текст, документ или фото для отправки.")

	@bot.message_handler(content_types=["text", "document", "photo"])
	def send_to_channel(message):
		try:
			bot.send_message(message.chat.id, message.text)
		except:
			try:
				bot.send_photo(message.cht.id, #отправка фото)
			except:
				bot.send_document(message.chat.id, #отправка документа)
	

bot.polling(none_stop=True)


Спасибо!
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Atageldiev
Начинающий питонист
Оставлю ссылку на стаковерфлоу. Там рассказывается как сохранить полученное фото
https://ru.stackoverflow.com/questions/615733/Сохр...

А чтобы отправить фото нужно сначала открыть его, и потом отправить через bot.send_photo():
with open("путь к файлу", "rb") as photo:
    bot.send_photo(message.chat.id, photo)


Пример:
with open("addQuestion.png", "rb") as photo:
    bot.send_photo(message.chat.id, photo)


Не понимаю зачем такое может понадобиться, но надеюсь поможет
Ответ написан
Комментировать
@dzemiachkovskii
У меня работает вот этот код:
file_path = bot.get_file(m.photo[-1].file_id).file_path
photo = bot.download_file(file_path)
bot.send_photo(m.chat.id, photo)

То есть качаем файл и сразу же его отправляем, необязательно его записывать в файл
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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