Реферальная система на Telebot

В ходе кода бот выдаёт сообщение "Реферал не найден", хотя должен отправить сообщение "Переводим деньги", но этого не происходит. В чём может быть ошибка?

КОД:

from telebot import TeleBot, types
import sqlite3, sys, pathlib

path = pathlib.Path(sys.argv[0]).parent.resolve()
bot = TeleBot(token='')
sql = sqlite3.connect(path / 'referalka.db', check_same_thread=False)
db = sql.cursor()

db.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY UNIQUE NOT NULL, balance INTEGER DEFAULT 0 NOT NULL, referal INTEGER DEFAULT NULL)''')
sql.commit()

def referal_get(msg: list):
    if len(msg) == 1:
        return False
    else:
        return msg[1]

@bot.message_handler(commands=['start'])
def start(message: types.Message):
    info = db.execute('SELECT * FROM users WHERE id=?', (message.from_user.id,))
    if info.fetchone()!=None:
        balance = db.execute('SELECT balance FROM users WHERE id=?', (message.from_user.id, ))
        for b in balance:
            bot.reply_to(message, f'Добро пожаловать в бота вновь\nТвоя реферальная ссылка: https://t.me/RETRYshop_bot?start={message.chat.id}\nТвой баланс: {b[0]}')
    else:
        ref = referal_get(message.text.split())
        if ref==False:
            db.execute(f'INSERT INTO users VALUES (?,?,?)', (message.from_user.id, 0, None, ))
            sql.commit()
            bot.reply_to(message, f'Добро подаловать в бота!\nТвоя реферальная ссылкa: https://t.me/RETRYshop_bot?start={message.chat.id}')
        else:
            try:
                ref_ = int(ref)
                info = db.execute('SELECT * FROM users WHERE id=?', (ref_, )).techone()
                if info == None:
                    bot.reply_to(message, f'Реферал не найден, возможно он даже не зарегистрировался в боте.\nМы уже зарегистрировали вас в системе.\nТвоя реферальная ссылкa: https://t.me/RETRYshop_bot?start={message.chat.id}')
                    db.execute(f'INSERT INTO users VALUES (?,?,?)', (message.chat.id, 0, None, ))
                    sql.commit()
                else:
                    bot.reply_to(message, f'Ты зарегистрировался от {ref_}. Добавляем тебя в базу данных')
                    db.execute(f'INSERT INTO users VALUES (?,?,?)', (message.chat.id, 0, ref_, ))
                    sql.commit()
                    try:
                        bot.send_message(ref_, f'Перечисляем Вам деньги за пользователя {message.from_user.first_name}')
                        db.execute('UPDATE users SET balance=balance+1 WHERE id=?', (ref_, ))
                        sql.commit()
                    except:
                        pass
            except:
                bot.reply_to(message, f'Реферал не найден, возможно он даже не зарегистрирован в боте.\nМы уже зарегистрировали вас в системе.\nТвоя реферальная ссылкa: https://t.me/RETRYshop_bot?start={message.from_user.id}')
                db.execute(f'INSERT INTO users VALUES (?,?,?)', (message.from_user.id, 0, None,))
                sql.commit()

bot.infinity_polling()

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