Почему не работают условия if и elif?
Создаю бот с помощью библиотеки Telebot. Кнопка называется "Писар". Она должена работать когда vip (столбец который в базе данных) равен 250. Это кнопка только для Вип аккаунтов.
Эта кнопка должна работать только когда vip ровно 250, иначе не должеа работать. Вся информация внизу.
У меня вот такой код: Код из bot.py
elif message.text == 'Писар':
user_info = db.get_gender_chat('male')
chat_two = user_info[0]
if db.get_vip(message.chat.id,) == '250':
if db.create_chat(message.chat.id, chat_two) == False:
db.add_queue(message.chat.id, db.get_gender(message.chat.id))
bot.send_message(message.chat.id, ' Дар ҳоли ҷустуҷӯ, интизор шавед бо нафаре пайваст мешавед!', reply_markup = stop_search())
else:
mess = 'Нафаре ёфт шуд ки бо шумо дар алоқа аст суҳбатро оғоз намоед \n Барои қатъи сӯҳбат /stop - ро пахш намоед!'
bot.send_message(message.chat.id, mess, reply_markup = stop_dialog())
bot.send_message(chat_two, mess, reply_markup = stop_dialog())
else:
bot.send_message(message.chat.id, 'Ошибка: Вип не равен 250')
Код из database.py:
def get_vip(self, vip):
with self.connection:
user = self.cursor.execute("SELECT * FROM `users` WHERE `vip` = ?", (vip,)).fetchmany(1)
if bool(len(user)):
for row in user:
return row[3]
else:
return False
def get_vip_chat(self, vip):
with self.connection:
chat = self.cursor.execute("SELECT * FROM `users` WHERE `vip` = ?", (vip,)).fetchmany(1)
if bool(len(chat)):
for row in chat:
user_info = [row[1], row[3]]
return user_info
else:
return [0]
Источник: Stack Overflow на русском