#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}'")