@srgvac
Разработчик любитель

Как сделать так,чтобы сообщение обрабатывалось первым?

Привет! Суть ошибки проста,но я не могу понять в чем проблема.
5f5395b6f1465355963694.png
@bot.message_handler(content_types=['text'])
def send_text(message):
    if message.text == 'Зашифровать':  
        bot.send_message(message.chat.id, 'Пришлите файл для зашифровки')
        time.sleep(15)
        @bot.message_handler(content_types=['document'])
        def handle_file(message):
            try:
                chat_id = message.chat.id
                file_info = bot.get_file(message.document.file_id)
                downloaded_file = bot.download_file(file_info.file_path)
                src = 'D:' + message.document.file_name;
                filename = message.document.file_name
                return filename
                with open(src, 'wb') as new_file:
                    new_file.write(downloaded_file)
                    bot.reply_to(message, "Шифрую...")
            except Exception as e:
                bot.reply_to(message, e)

Надо,чтобы обрабатывался файл,а не сообщение "Зашифровка"
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 2
Arlidi
@Arlidi
Не уверен но скорее всего поможет

нужно эту строку нужно отдельно от блока поставить и все причастное к нему в отдельный блок
@bot.message_handler(content_types=['document'])
Ответ написан
Комментировать
@IKIQ
@bot.message_handler(regexp="Зашифровать")
def send_text(message):
    msg = bot.send_message(message.chat.id, 'Пришлите файл для зашифровки')
    bot.register_next_step_handler(msg, handle_file)

def handle_file(message):
    try:
        file_info = bot.get_file(message.document.file_id)
        downloaded_file = bot.download_file(file_info.file_path)
        src = 'D:' + message.document.file_name;
        filename = message.document.file_name
        return filename
        with open(src, 'wb') as new_file:
            new_file.write(downloaded_file)
            bot.reply_to(message, "Шифрую...")
    except Exception as e:
        bot.reply_to(message, e)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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