Проблемы 2 (вторая появляется из-за первой):
1 - контроль выгрузки всех изображений. Не могу получить статус, ошибка: telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
"
A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2. После каждого выгруженного изображения получаю сообщение как об успехе, так и с клавиатурой. Затея дождаться выгрузки всего и получить сообщение об успехе + клавиатура
elif message.photo:
# Обработка изображений
photo_id = message.photo[-1].file_id
try:
photo_info = bot.get_file(photo_id)
# Получение информации о файле фотографии
#(название может быть None для некоторых типов изображений)
file_extension=photo_info.file_path.split('.')[-1]
if not (file_extension.lower() in ['jpg', 'jpeg', 'png']):
raise ValueError(f"Неподдерживаемый формат файла: {file_extension}")
directory_img = f'd://Upload/{ufolder}/img/'
if not os.path.exists(directory_img):
os.makedirs(directory_img)
file_name = f'{photo_id}.{file_extension}'
filepath = os.path.join(directory_img, file_name)
downloaded_file = bot.download_file(photo_info.file_path)
with open(filepath, 'wb') as new_file:
new_file.write(downloaded_file)
# Дождаться завершения передачи всех изображений
# Дождаться завершения передачи всех изображений
saved_photos = []
while True:
status_updates = bot.get_updates()
if len(status_updates) > 0 and status_updates[-1].message.photo is None:
break
else:
saved_photos.append(status_updates[-1].message.photo)
time.sleep(1) # Пример задержки на 1 секунду. Измените значение по необходимости.
if len(message.photo) == len(saved_photos):
if len(message.photo) > 1:
bot.reply_to(message, f'Изображения успешно сохранены')
keyboard_disk = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)\
.add(telebot.types.KeyboardButton('Открыть диск'), telebot.types.KeyboardButton('Выгрузить файл'))\
.add(telebot.types.KeyboardButton('Кнопка 3'), telebot.types.KeyboardButton('Назад'))
#keyboard.add(telebot.types.KeyboardButton('Some other button')))
time.sleep(1) # Приостановить программу на 1 секунду
bot.send_message(message.chat.id, "Что Вы хотите сделать далее? \u2615", reply_markup=keyboard_disk)
else:
bot.reply_to(message, f'Изображение успешно сохранено')
keyboard_disk = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)\
.add(telebot.types.KeyboardButton('Открыть диск'), telebot.types.KeyboardButton('Выгрузить файл'))\
.add(telebot.types.KeyboardButton('Кнопка 3'), telebot.types.KeyboardButton('Назад'))
#keyboard.add(telebot.types.KeyboardButton('Some other button')))
time.sleep(1) # Приостановить программу на 1 секунду
bot.send_message(message.chat.id, "Что Вы хотите сделать далее? \u2615", reply_markup=keyboard_disk)
except Exception as e:
print(e) # обработка ошибки