Discord.py Система запрещенных слов SQLite3 — Проблема

#python #sql #sqlite #discord.py

Вопрос:

Итак, я попытался создать систему запрещенных слов с помощью sqlite3, но я столкнулся с проблемой, и она вообще не выдает ошибок и не работает

Мой код: ( да, я импортировал sqlite3) и форматирование правильное, это просто сам код

   @commands.Cog.listener()  async def on_message(self, member):  db = sqlite3.connect('.//SQL//bannedwords.sqlite')  cursor = db.cursor()  cursor.execute(f'SELECT msg FROM bannedwords WHERE guild_id = {message.guild.id}')  result = cursor.fetchone()  if result is None:   return  else:   cursor.execute(f"SELECT msg FROM main WHERE guild_id = {member.guild.id}")  result = cursor.fetchone()  await message.author.delete()  embed=discord.Embed(title="Blacklisted Word", description="Test")  await message.send(embed=embed, delete_after=7.0)        @commands.group(invoke_without_commands=True)  async def add(self, ctx):  return         @add.command()  async def word(self, ctx, channel:discord.TextChannel):  if ctx.message.author.guild_permissions.administrator:  db = sqlite3.connect('.//SQL//bannedwords.sqlite')  cursor = db.cursor()  cursor.execute(f'SELECT msg FROM bannedwords WHERE guild_id = {ctx.guild.id}')  result = cursor.fetchone()  if result is None:  sql = ("INSERT INTO bannedwords(guild_id, msg) VALUES(?,?)")  val = (ctx.guild.id, msg)  await ctx.send(f"h")  elif result is not None:  sql = ("UPDATE bannedwords SET msg = ? WHERE guild_id = ?")  val = (msg, ctx.guild.id)  await ctx.send(f"added")  cursor.execute(sql, val)  db.commit()  cursor.close()  db.close()  

Я знаю, что я ввел текстовый канал, но я не думаю, что это единственная проблема — или, скорее, я не слишком уверен в том, чем мне его заменить, чтобы он обнаруживал сообщения, которые находятся в столбце msg

Комментарии:

1. Это не очень понятно — в чем именно проблема?

Ответ №1:

Используйте message.channel.send вместо message.send .

Комментарии:

1. Я боюсь, что вы неправильно поняли вопрос, я пытаюсь создать систему запрещенных слов, однако я ссылался на текстовые каналы, я забыл удалить ее, но я не уверен, что ее заменить, поэтому она определяет, находится ли запрещенное слово в столбце msg базы данных — я использовал сообщение.отправить, потому что мне не нужно, чтобы оно отправлялось в определенном канале, в нем хранятся только идентификаторы гильдии и msg, который является запрещенным словом, и моя проблема в том, что он даже не сохранит его.