У меня проблема с указанием в discord py

#python #sqlite #discord.py

#python #sqlite #discord.py

Вопрос:

я создаю систему наведения в discord.py . Я использую базу данных sqlite3, и у меня следующая проблема:

 async def solved(ctx, member : discord.Member):
    c.execute(f'SELECT name FROM math WHERE name = "{member.name}"')
    checkname = c.fetchone()
    if checkname == member.name:
        c.execute(f"INSERT INTO math VALUES('{member.name}', 40, '{ctx.guild.id}')")
        await ctx.send("User is in database")

        c.execute(f"SELECT qula FROM math WHERE name = '{member.name}'")
        qula = c.fetchone()
        print(qula)
        saboloo = int(qula[1])   40
        c.execute("UPDATE math SET qula = ? WHERE name = ?", (saboloo, member.name)) 
        await ctx.send("You earned 40 coins.")
        print(checkname)
    elif checkname != member.name:
        print(checkname)
        c.execute(f"INSERT INTO math VALUES('{member.name}', 40, '{ctx.guild.id}')")
        await ctx.send("User is not in database")```

Every time I type this command, the bot says that the user is not in the database.
 

Ответ №1:

Вы должны использовать member.id нет member.name — они могут сменить свой ник в любое время, но идентификатор остается прежним. Это может вызвать у вас некоторые проблемы

Попробуйте использовать это:

 c.execute(f"SELECT name FROM math WHERE name='{member.name}'")