TypeError: add_user() missing 1 required positional argument: 'infected'

class SQLighter:
    def __init__(self, database):
        """Подключаемся к БД и сохраняем курсор соединения"""
        self.connection = sqlite3.connect(database, check_same_thread = False)
        self.cursor = self.connection.cursor()
    def add_user(self, id, name, survived, infected):
        """Добавляем значение"""
        with self.connection:
            return self.cursor.execute("INSERT INTO `stats` (user_id, user_name, survived, infected) VALUES(?,?,?,?)", (id,name,survived,infected))
    def get_nick(self, id):
        '''Эта функция позволяет извлекать нужное значение(в данном случае id) из таблицы stats'''
        with self.connection:
            return self.cursor.execute("SELECT user_id FROM stats WHERE id = ?", (id,)).fetchall()
    def set_fast(self, id):
        '''Эта функция позволяет устанавливать значение исходя из параметра id'''
        with self.connection:
            return self.cursor.execute("UPDATE stats SET infected=X WHERE id=?", (id))

Как мне использовать этот метод? Мне нужно сделать так:

SQLighter.add_user(1087968824, "Владимир", 1, 1)

и выдаёт ошибку в названии темы.


Ответы (1 шт):

Автор решения: Arorior

Дело в том, что если класс не инициализирован - он примет первый параметр как self

SQLighter().add_user(1087968824, "Владимир", 1, 1)

Если это не поможет - еще раз проверьте все ли данные вы отправили

→ Ссылка