Предмет: Информатика, автор: vovcenkod871

Python. Телеграм бот. Створіть бота, який при отриманні мультимедіа від користувача (фото, аудіо, відео, документ), зберігає file_id цього медіа та може його повторно відправити при отриманні відповідної команди.

Ответы

Автор ответа: Davinchii
1

import telebot

# Твій токен боту

TOKEN = 'your_bot_token'

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(content_types=['photo', 'audio', 'video', 'document'])

def handle_media(message):

# Отримуємо file_id мультимедіа

file_id = message.document.file_id if message.document else None

file_id = message.photo[-1].file_id if message.photo else file_id

file_id = message.audio.file_id if message.audio else file_id

file_id = message.video.file_id if message.video else file_id

# Зберігаємо file_id для подальшого використання

if file_id:

# Тут ви можете зберегти file_id у базу даних або в іншу зберігаючу систему

save_file_id(file_id)

bot.reply_to(message, 'Медіа успішно збережено!')

else:

bot.reply_to(message, 'Це не підтримуване мультимедіа.')

@bot.message_handler(commands=['send_media'])

def send_media(message):

# Отримуємо file_id збереженого мультимедіа

file_id = get_saved_file_id()

# Відправляємо мультимедіа користувачеві

if file_id:

# В залежності від типу мультимедіа, використовуй відповідну функцію відправки

# Тут можна використовувати bot.send_photo, bot.send_audio, bot.send_video, bot.send_document і т.д.

bot.send_photo(message.chat.id, file_id)

else:

bot.reply_to(message, 'Мультимедіа для відправлення не знайдено.')

def save_file_id(file_id):

# Тут можна реалізувати логіку збереження file_id у базу даних або в іншу зберігаючу систему

# Наприклад, можна використовувати SQLite, MySQL, Redis, тощо.

pass

def get_saved_file_id():

# Тут можна реалізувати логіку отримання збереженого file_id з бази даних або з іншої зберігаючої системи

pass

bot.polling()

Похожие вопросы
Предмет: Алгебра, автор: Arespwnz
Предмет: Математика, автор: shutupanddance