Выдаёт ошибку при заполнении (sqlite3)базы данных пользователями
У меня есть экономический дискорд-бот, которого я хочу загрузить на один из серверов, на котором 3500 участников. Проблема в том, что когда я загружаю бота на этот сервер, база данных заполняется не полностью(не больше 580 участников), хотя я заливал его на другой сервер(90 участников), и всё работало исправно, 3 дня подряд гуглю, не могу найти решение
Сам код из-за которого выдаёт ошибку:
async def on_ready():
await client.change_presence(status=discord.Status.idle, activity=discord.Game('Фармилка гемов'))
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
"name" Text,
"id" INT,
"cash" BIGINT,
"server_id" INT
)""")
connection.commit()
cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
"role_id" INT,
"id" INT,
"cost" BIGINT
)""")
connection.commit()
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, {guild.id})")
connection.commit()
else:
pass
connection.commit()
print('Bot connected!')
Ошибка:
```Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "f:\SSD\Python\FinBot\botfn.py", line 48, in on_ready
cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, {guild.id})")
sqlite3.OperationalError: near "bly": syntax error
Ответы (1 шт):
Автор решения: P1n_C0der
→ Ссылка
Попробуй строку где у тебя ошибка заменить на что-то вроде этого:
"INSERT INTO users (названия столбцов в таблице) VALUES ('%s', '%s' количество %s в зависимости от кол-во столбцов)" % (твои переменные)