Я программирую своего discord бота на python. Решил сделать экономическую часть с помощью SQLITE3. Проблема в том что при команде $яблоки должно выводится кол-во яблок(Валюта в боте) у участника, но на эту команду никак не реагирует SQLITE3 и в консоли ошибки нет. Я решил также попробовать напечатать значение в консоль но тоже ничего, не ошибки не ответа. Вот проблемный код (на всяких случай ещё прикреплю создание таблицы):
#таблица sqlite3
connection = sqlite3.connect('hedgehog_bot.db')
cursor = connection.cursor()
@bot.event
async def on_ready():
DiscordComponents(bot)
#создание таблицы sqlite3 при запуске кода
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
name TEXT,
id INT,
cash BIGINT,
rep INT,
warns INT,
lvl INT,
salmon INT,
cod INT
)""")
connection.commit()
for guild in bot.guilds:
for member in guild.members:
if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, {0}, {100}, {0}, {0}, {0}, {0})")
else:
pass
connection.commit()
print("Бот готов!")
@bot.event
async def on_member_join(member):
if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 100, 0, 0, 0, 0)")
connection.commit()
else:
pass
...
#проблемная часть
@bot.command()
async def яблоки(ctx, *, member: discord.Member):
cash = cursor.execute(f"SELECT cash FROM users WHERE id = {member.id}").fetchone()[0]
print(cash)
await ctx.send(embed = discord.Embed(
description = f"""Баланс пользователя **{member.mention}** состовляет **{cursor.execute(f"SELECT cash FROM users WHERE id = {member.id}").fetchone()[0]}** """,
timestamp = ctx.message.created_at,
color = discord.Colour.from_rgb(255, 69, 0)
))