Возвращаю переменную в которую записано id пользователя:
def GetInfo(id):
try:
return c.execute("SELECT * FROM main WHERE user_id == ?", (id,))[0]
except:
pass
потом проверяю, если оно равно None: заношу пользователя в БД, если же нет, то вывожу специальный текст:
if DataBase.GetInfo(message.from_user.id) is None:
bot.send_message(message.chat.id, '<b>Добро пожаловать в гости! \n\nДля оренитирования используй /menu</b>', 'html')
bot.send_sticker(message.chat.id, 'CAACAgIAAxkBAAEF0K5jH0f88w0Ugs0W6n30eUwSZpV2TgACxwADMNSdEbWf7Uv9DdzuKQQ')
DataBase.InsertInto(message.from_user.id)
if DataBase.GetInfo(message.from_user.id) is not None:
bot.send_message(message.chat.id, '<b>Эту команду можно мпользовать только единажды!</b>', 'html')
bot.send_sticker(message.chat.id, 'CAACAgIAAxkBAAEF0S1jH1ZNQoKjHvOWzB_G3bgdq5crtgACzAADMNSdEbg0CDIOCTHMKQQ')
Когда пользователя в БД нету, всё работает как надо, но вот когда он там есть, и нужно вывести уже другой текст, программа по всей видимости в тупую игнорит условие и еще раз выводит привественное сообщение, хотя возвращаемое значение уже не None
также выводит такую ошибку:
sqlite3.IntegrityError: UNIQUE constraint failed: main.user_id