Помощь с базой данных sqlite3
я создал команду баланса для своего дискорд бота с использованием sqlite3 я бы хотел узнать как я могу её адаптировать для нескольких серверов т.к. сейчас если её использовать на нескольких серверах она выводит одно и то же. Вот код:(все импорты выполнены)
bot = commands.Bot(command_prefix=settings['PREFIX'],intents = discord.Intents.all())
bot.remove_command( 'help' )
connection = sqlite3.connect('server.db')
cursor = connection.cursor()
@bot.event
async def on_ready():
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
name TEXT,
id INT,
cach BIGINT,
rep INT,
lvl INT,
server_id INT
)""")
cursor.execute("""CREATE TABLE IF NOT EXISTS shop(
role_id INT,
id INT,
cost BIGINT
)""")
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, 0, 1, {guild.id})")
else:
pass
connection.commit()
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="$help")) # �郱邾迮郇�迮邾 ��訄��� 訇郋��
DiscordComponents(bot)
print('BOT CONECTED')
@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 ('{memeber}', {member.id}, 0, 0, 1, {member.guild.id})")
connection.commit()
else:
pass
@bot.command()
async def balance(ctx, member: discord.Member = None):
if member is None:
emb = discord.Embed(title='�訄郅訄郇�',color = 0x4788C9,
description = f"""�訄郅訄郇� 郈郋郅�郱郋赲訄�迮郅� **{ctx.author}** �郋��訄赲郅�迮� **{cursor.execute("SELECT cach FROM users WHERE id = {}".formst(ctx.author.id)).fetchone()[0]}** ��"""
)
emb.set_footer( text = ctx.author.name, icon_url = ctx.author.avatar_url )
await ctx.send(embed = emb)
else:
emb = discord.Embed(title='�訄郅訄郇�',color = 0x4788C9,
description = f"""�訄郅訄郇� 郈郋郅�郱郋赲訄�迮郅� **{member}** �郋��訄赲郅�迮� **{cursor.execute("SELECT cach FROM users WHERE id = {}".format(member.id)).fetchone()[0]} ��**"""
)
emb.set_footer( text = ctx.author.name, icon_url = ctx.author.avatar_url )
await ctx.send(embed = emb)