Не записываются данные в базу данных sqlite

При разработке бота на библиотеке telebot столкнулся с ситуацией, что не записываются данные в базу данных sqlite вписываю строчки кода записи данных на которых предположительно ошибка. Первая часть кода это регистрация пользователя с реферальной системой, возможно с ней проблема. Ниже запись на которой выдает ошибку, при обращении к ней. Выдает ошибку, что невозможно обратится к пустому значению База данных lang integer none
@bot.message_handler(commands=['start'])
def welcome(message):
id = message.from_user.id
con = sqlite3.connect("database.db")
cur = con.cursor()
cur.execute("SELECT id FROM users WHERE id = ?",(id,))
user = cur.fetchone()
if user == None:
if len(message.text) != 6:
try:
boss = int(message.text[7:])
except:
boss = 0
else:
boss = 0
#Добавляем юзеру данные
name = message.from_user.first_name
con = sqlite3.connect("database.db")
cur.execute(f"INSERT INTO users (id, name, boss)"f"VALUES ({id},\"{name}\",{boss})")
con.commit()
cur = con.cursor()
if boss != 0:
cur.execute("SELECT referals FROM users WHERE id = ?",(boss,))
referal = cur.fetchone()[0]
referals = referal + 1
cur.execute("UPDATE users SET referals = ? WHERE id = ?",(referals, boss,))
con.commit()
bot.send_message(message.from_user.id,"<b><i>?Please, select your language??\n?Пожалуйста, выберите ваш язык??\n?Proszę wybrać swój język??</i></b>",parse_mode='HTML',reply_markup=setlanguage())
bot.register_next_step_handler(message, language)
else:
con = sqlite3.connect("database.db")
cur = con.cursor()
cur.execute("SELECT lang FROM users WHERE id = ?",(message.from_user.id,))
lang = cur.fetchone()[0]
if lang == 0:
bot.send_message(message.from_user.id,"<b><i>?Welcome!!!?</i></b>",parse_mode='HTML', reply_markup = profilemenu(lang))
profile(message)
bot.register_next_step_handler(message, menu)
elif lang == 1:
bot.send_message(message.from_user.id,"<b><i>?Добро пожаловать!!!?</i></b>",parse_mode='HTML', reply_markup = profilemenu(lang))
profile(message)
bot.register_next_step_handler(message, menu)
elif lang == 1:
bot.send_message(message.from_user.id,"<b><i>?Witamy!!!?</i></b>",parse_mode='HTML', reply_markup = profilemenu(lang))
profile(message)
bot.register_next_step_handler(message, menu)
###при обращении в ячейку со значением выдает ошибку lang = cur.fetchone()[0]
TypeError: 'NoneType' object is not subscriptable
код с обращение -( con = sqlite3.connect("database.db")
cur = con.cursor()
cur.execute(f"SELECT lang FROM users WHERE id = {message.from_user.id}")
lang = cur.fetchone()[0]###
@bot.message_handler(content_types=['text'])
def language(message):
con = sqlite3.connect("database.db")
cur = con.cursor()
if message.text == "??English":
bot.send_message(message.from_user.id,"<b><i>?Choose your currency</i></b>",parse_mode='HTML',reply_markup = setvalut())
cur.execute("UPDATE users SET lang = 0 WHERE id = ?",(message.from_user.id,))
con.commit()
bot.register_next_step_handler(message, valut)
elif message.text == "??Русский":
lang = 1
bot.send_message(message.from_user.id,"<b><i>?Выберите вашу валюту</i></b>",parse_mode='HTML',reply_markup = setvalut())
cur.execute("UPDATE users SET lang = ? WHERE id = ?",(lang, message.from_user.id))
con.commit()
bot.register_next_step_handler(message, valut)
elif message.text == "??Polskie":
bot.send_message(message.from_user.id,"<b><i>?Wybierz swoją walutę</i></b>",parse_mode='HTML',reply_markup = setvalut())
cur.execute("UPDATE users SET lang = 2 WHERE id = ?",(message.from_user.id,))
con.commit()
bot.register_next_step_handler(message, valut)''' *][1]][1]