Проблема с занесением данных в бд sqlite3 с discord.py
Код взят из ютуба, немного будет переделан в будущем, сейчас я хочу просто переписать всё у ютубера, чтобы потом переделать под себя конкретно, с изменением кода. Ошибка началась сразу, вначале кода. У меня создаётся база данных и идёт проверка на наличие пользователя в базе данных. База данных нужна для команды вывода баланса. Вот код:
async def on_ready():
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
name TEXT,
id INT,
cash BIGINT,
rep INT,
lvl INT
)""")
for guild in client.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, 0, 1)")
else:
pass
connection.commit()
Ошибка:
File "C:\Users\Admin\Desktop\bot\bot123.py", line 47, in __balance
await ctx.send(f"""Баланс пользователя: **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]}**""")
TypeError: 'NoneType' object is not subscriptable
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: 'NoneType' object is not subscriptable
Сама ошибка в команде, так как в базе данных нету данных о пользователе. Что делать????
Ответы (1 шт):
Автор решения: kabezajka
→ Ссылка
Проблема теперь в следующем: бот НЕ вносит данные о пользователе в БД(я ввёл сам и теперь команда работает)
for guild in client.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, 0, 1)")
else:
pass
connection.commit()
Вот код, который не работает. Он должен заносить данные о пользователе в БД. Какие в нём ошибки?