Задать вопрос
@Reaper_sds

Почему row[0] обращается к None объекту?

@commands.Cog.listener()
async def on_dropdown(self, inter: disnake.MessageInteraction):
    c = self.conn.cursor()
    c.execute(f"SELECT role_id, cost FROM shop WHERE id = ?", (inter.data['values'][0],))
    row = c.fetchone()
    role = inter.guild.get_role(row[0])
    if role in inter.author.roles:
        embed = disnake.Embed(title="Магазин ролей", description=f"У вас уже есть роль {role}", color=0xFF0000)
        await inter.response.send_message(embed=embed, ephemeral=True)
        return
    if c.execute(f"SELECT cash FROM users WHERE id = {inter.author.id}") < row[1]:
        embed = disnake.Embed(title="Магазин ролей", description=f"У вас недостаточно денег для покупки роли {role_name}", color=0xFF0000)
        await inter.response.send_message(embed=embed, ephemeral=True)
        return
    else:
        c.execute(f"UPDATE users SET cash = {c.execute(f'SELECT cash FROM users WHERE id = {inter.author.id}') - row[1]} WHERE id = {inter.author.id}")
        self.conn.commit()
        await inter.author.add_roles(role)
        embed = disnake.Embed(title="Магазин ролей", description=f"Вы успешно приобрели роль {role}", color=0x2f3136)
        await inter.response.send_message(embed=embed, ephemeral=True)
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • Хекслет
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@Everything_is_bad
Почему row[0] обращается к None объекту?
Потому что в row None. А почему в row None? Потому что None вернул sql запрос. Элементарная же логика
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 75 000 ₽
ITK academy Нижний Новгород
от 75 000 до 125 000 ₽
JustBusiness Санкт-Петербург
от 130 000 до 150 000 ₽