Sqlite3 и Disnake. Ошибка при создании базы данных серверов
Пытался сделать базу данных для всех серверов на которые добавляется бот. При добавлении параметров выдается ошибка. Попробовал поискать на ютубе, хитхабе, тут и ни где ничего не нашел.
import disnake
from disnake.ext import commands
from config import NSL_Channel
import sqlite3 as sql
database = sql.connect("server.db")
cursor = database.cursor()
database.execute(""" CREATE TABLE IF NOT EXISTS servers(guild_name TEXT, guild_id INT, owner_name TEXT, owner_id INT, blocked BOOLEAN, UNIQUE(guild_name, guild_it, owner_name, owner_id)) """)
class JoinServerLog(commands.Cog):
def __init__(self, bot: commands.Bot):
self.bot = bot
@commands.Cog.listener()
async def on_guild_join(self, guild):
channel_log = self.bot.get_channel(NSL_Channel)
channel = guild.text_channels[0]
bot_invite = await channel.create_invite(max_uses=0, max_age=0, unique=True)
embed_nsl = {
"title": "Бот был добавлен на новый сервер",
"description": f"**Название сервера**: {guild.name}\n"
f"**Участников**: {guild.member_count}\n"
f"**ID Сервера**: {guild.id}\n"
f"**Владелец сервера**: {guild.owner}\n"
f"**ID Владельца**: {guild.owner.id}\n"
f"**Приглашение**: {bot_invite}"
}
database_server_write = "INSERT OR IGNORE INTO servers VALUES(?,?,?,?,?)"
cursor.execute(database_server_write, (guild.name, guild.id, guild.owner, guild.owner.id, False))
try:
await channel_log.send(embed=disnake.Embed.from_dict(embed_nsl))
except Exception as Unable2Send:
print("Не могу отправить сообщение" + Unable2Send)
def setup(bot: commands.Bot):
bot.add_cog(JoinServerLog(bot))
Ошибка выглядит вот так:
Ignoring exception in on_guild_join
Traceback (most recent call last):
File "...\disnake\client.py", line 703, in _run_event
await coro(*args, **kwargs)
File "...\cogs\serverlog.py", line 31, in on_guild_join
cursor.execute(database_server_write, (guild.name, guild.id, guild.owner, guild.owner.id, False))
sqlite3.ProgrammingError: Error binding parameter 3: type 'Member' is not supported