我在指向不和谐 py 时遇到问题

时间:2021-03-02 20:00:15

标签: 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 个答案:

答案 0 :(得分:1)

您应该使用 member.id 而不是 member.name - 他们可以随时更改昵称,但 id 保持不变。那可能会给你带来一些问题

试试这个:

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