@Shkarol

Почему не выполняется блок else?

Есть хэндлер, который "прослушивает" нажатие inline-кнопок
В БД есть столбец battle_use_check и функция, которая возвращает его значение - db.battle_use_check(chat_id)
Я пытаюсь сделать проверку: Если battle_use_check == 0, то регистрируем, если 1 - соответственно, не регистрируем пользователя!
Первое условие выполняется, но блок else отказывается работать!

@dp.callback_query_handler(text_contains="create_room_battle")
async def create_room_battle(call: CallbackQuery):
    message_id = call.from_user.id
    chat_id = call.message.chat.id

    battle_use_check = db.battle_use_check(chat_id) #флаг: если состоит в комнате - 1; если нет - 0

    if int(battle_use_check) == 0:
        await bot.send_message(chat_id, 'Done', parse_mode="HTML")
    else:
        await bot.send_message(chat_id, f' <b>Невозможно создание новой комнаты!\n'
                                        f' Ты уже состоишь в одной батл-комнате!\n', parse_mode="HTML")
    await call.answer()
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@vadimanin
Попробуйте вместо else использовать elif int(battle_use_check) == 1:. А на else накинуть print("error").
Если не сработает, попробуйте расставить print-ы.
Со значением 0 работает?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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