Код должен получать с базы данных информацию о человеке и выявлять нужное сообщение. Вроде сделал все правильно, но появилась тупая ошибка.
Код:
user_id = callback.message.from_user.id
cursor.execute("SELECT subs_chanel FROM users_quests WHERE user_id = ?", (user_id,))
subs = cursor.fetchone()
count_subs = subs[0]
if count_subs == 'NO':
if callback.message.chat.type == 'private':
user_id = callback.from_user.id
if await check_sub_channels(cfg.CHANNELS, callback.message.from_user.id):
cursor.execute("UPDATE users SET earns = earns + 4 WHERE user_id = ?", (user_id,))
cursor.execute("UPDATE users_quests SET subs_chanel = subs_chanel + 1 WHERE user_id = ?", (user_id,))
await bot.edit_message_caption(
chat_id=callback.message.chat.id,
message_id=callback.message.message_id,
caption=f' Здравствуй! {callback.from_user.first_name}\n\n Спасибо за вашу поддержку!\n Вам было начислено 4 звезды.',
reply_markup=backing)
else:
await bot.edit_message_caption(
chat_id=callback.message.chat.id,
message_id=callback.message.message_id,caption=f" Здравствуй! {callback.from_user.first_name}\n\n Вы не подписались на все каналы.", reply_markup=subing_channels)
elif count_subs == 'YES':
await bot.edit_message_caption(
chat_id=callback.message.chat.id,
message_id=callback.message.message_id,
caption=f" Здравствуй! {callback.from_user.first_name}\n\n Вы уже выполнили данное задание.",
reply_markup=backing)
elif count_subs == 'NONE':
await bot.send_message(callback.message.chat.id, 'Ошибка.\n\nСообщите администрации проекта.')
Ошибка:
File "C:\Users\Wizi\Desktop\bot\main.py", line 151, in back_button
count_subs = subs[0]
TypeError: 'NoneType' object is not subscriptable