import sqlite3
#bot
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands = ['start'])
def start(message):
user_id = message.from_user.id
user_niсkname = message.from_user.username
add_new_user(user_id, user_niсkname)
def add_new_user(user_id, user_niсkname):
print(user_id)
connect = sqlite3.connect('users.db')
cursor = connect.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS users_inf(
id INTEGER,
niсkname TEXT,
warnings_on_real_moment INTEGER
);""")
connect.commit()
#chek id
cursor.execute("""SELECT id FROM users_inf WHERE id = 'user_id'""")
data = cursor.fetchone()
if data is None:
#add values in table
cursor.execute("""INSERT INTO users_inf(id, niсkname, warnings_on_real_moment)
VALUES(?, ?, ?)""", (user_id, user_niсkname, 0))
connect.commit()
print('У нас новый пользователь его id: ' + str(user_id) + ' Также его ник: ' + str(user_niсkname))
else:
bot.send_message(message.chat.id, 'Ты что пытаешься сделать?\n Ты уже есть в базе!')
bot.polling()```
По идее если выполнится отрезок кода
```cursor.execute("""SELECT id FROM users_inf WHERE id = 'user_id'""")
data = cursor.fetchone()
if data is None:```
то только при отсутствии id пользователя он должен записываться в таблицу благодаря
```#add values in table
cursor.execute("""INSERT INTO users_inf(id, niсkname, warnings_on_real_moment)
VALUES(?, ?, ?)""", (user_id, user_niсkname, 0))
connect.commit()```
Однако если id присутствует в таблице он должен только выводить текст в чат
```else:
bot.send_message(message.chat.id, 'Ты что пытаешься сделать?\n Ты уже есть в базе!')```
Однако код после ```else:``` не выполняется и id пользователя всегда заносится в базу
можете объяснить причину и приложить рабочий код. Заранее спасибо.