我正在 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.
答案 0 :(得分:1)
您应该使用 member.id 而不是 member.name - 他们可以随时更改昵称,但 id 保持不变。那可能会给你带来一些问题
试试这个:
c.execute(f"SELECT name FROM math WHERE name='{member.name}'")