@Mansurkolonki

Ошибка при вызову функции из sqlite: object has no attribute, как решить?

@dp.message_handler(commands=["start"])
async def start(message, res=False):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    button1 = types.KeyboardButton("Изменить группу")
    button2 = types.KeyboardButton("Помощь❓")
    markup.add(button1, button2)
    if(not conn.users_exist(message.from_user.id)):
        conn.add_userd(message.from_user.id)
        await bot.send_message(message.from_useer.id, 'ТЫ впервые', reply_markup=markup)
    else:
        await bot.send_message(message.from_user.id, 'Ты есть в таблице', reply_markup=markup)

На строке с условием ошибка:'sqlite3.Connection' object has no attribute 'users_exist'
Вот функции в db
class Database():
    def __init__(self, db_file):
        self.connection = sqlite3.connect(db_file)
        self.cursor = self.connection.cursor()
    def add_userd(self, user_id):
        with self.connection:
            return self.cursor.execute('INSERT INTO `users` (`user_id`) VALUES (?)', (user_id))
    def users_exist(self, user_id):
        with self.connection:
            result = self.cursor.execute("SELECT * FROM `users` WHERE user_id = ?", (user_id, )).fetchall()
            print(result)
            return bool(len(result))
  • Вопрос задан
  • 214 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Keramxx
Не забывай что нужно передавать параметры в виде массива, ты просто запятую забыл.
def add_userd(self, user_id):
  with self.connection:
    return self.cursor.execute('INSERT INTO `users` (`user_id`) VALUES (?)', (user_id,))
                                                                ↑
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы