@sowhatbro

Проблема с варнинг системой discord.py?

Есть код варнингов через sql:

class datebase():
    user = "default"
    guild = "default"
    search1 = "default"
    search2 = "default"
    search3 = "default"

    def start(self):
        global sql,db

        db = sqlite3.connect('datebase/base.db')
        sql = db.cursor()
        sql.execute('''CREATE TABLE IF NOT EXISTS datebase (
            guild INT,
            user INT,
            warn INT
        )''')
        db.commit()

    def warn(self):
        sql.execute(f"SELECT guild FROM datebase WHERE guild = '{self.guild}'")
        if sql.fetchall() is None:
            sql.execute(f"INSERT INTO datebase VALUES (?,?,?)", (self.guild, self.user, 1 ))
            db.commit()
        else:
            sql.execute(f"SELECT user FROM datebase WHERE guild = '{self.guild}' AND user = '{self.user}'")
            if sql.fetchall() is None:
                sql.execute(f"INSERT INTO datebase VALUES (?,?,?)",  (self.guild, self.user, 1))
                db.commit()
            else:
                for i in sql.execute(f"SELECT warn FROM datebase WHERE guild = '{self.guild}' AND user = '{self.user}'"):
                    newWarn = i[0] + 1
                    sql.execute(f"UPDATE datebase SET warn = '{newWarn}' WHERE guild = '{self.guild}' AND user = '{self.user}'")
                    db.commit()

    def search(self):
        self.search1 = ""
        self.search2 = ""
        self.search3 = ""
        for i in sql.execute("SELECT guild FROM datebase"):
            self.search1 += f"\n{ i[0] }"
        for i in sql.execute("SELECT user FROM datebase"):
            self.search2 += f"\n{ i[0] }"
        for i in sql.execute("SELECT warn FROM datebase"):
            self.search3 += f"\n{ i[0] }"




from click import pass_context
from discord.ext import commands

import discord
import os

from datebase.datebase import datebase as dt

class base (commands.Cog):
    def __init__(self, client):
        self.client = client

    @commands.command()
    async def warn(self, base, ctx, user: discord.User, guild:discord.Guild = None):
        guild = ctx.guild if not guild else guild
        self.base = dt()
        self.base.guild = guild.id
        self.base.user = user.id
        self.base.warn()

        await ctx.send(f"Уебал лоха {user.name}")

    @commands.command()
    async def search(self, ctx):
        self.base.search()

        emb = discord.Embed(title = "Варны")
        emb.add_field(name = 'id guild:', value = base.search1)
        emb.add_field(name = 'id user:', value = base.search2)
        emb.add_field(name = 'warns:', value = base.search3)

        await ctx.send(Embed = emb)

async def setup(client):
    await client.add_cog( base( client ) )


При выдачи варна через сам дискорд выдаёт ошибку:
!warn

Arguments:
  ctx   No description given
  user  No description given
  guild No description given (default: None)


Как пофиксить?
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Проблема с варнинг системой discord.py?

Да проблема с варнинг системой.
Точнее столько проблем, что лучше удалить весь этот код и переписать оба класса.
Вернитесь к изучению основ языка и ООП прежде чем писать ботов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы