Пытался сделать бота через которого можно выдать доступ к функциям.
def connect():
con = sqlite3.connect('base.db')
return con
def sql(con):
try:
cursor = con.cursor()
cursor.execute("CREATE TABLE user(id integer, name text, surname text, username text, rang text, full boolean)")
except Error:
pass
sql(connect())
@bot.message_handler(commands=['start'])
def start(message):
# Проверка + Добавления
con = connect()
cursor = con.cursor()
cursor.execute(f"SELECT id FROM user WHERE id = {message.from_user.id}")
data = cursor.fetchone()
if data is None:
noname = "Несуществующий"
adduser = (message.from_user.id, message.from_user.first_name, message.from_user.last_name, message.from_user.username, noname, False)
cursor = con.cursor()
cursor.execute("INSERT INTO user(id, name, surname, username, rang, full) VALUES(?, ?, ?, ?, ?, ?)", adduser)
con.commit()
pasa = types.InlineKeyboardMarkup(row_width=1)
checkk = types.InlineKeyboardButton(text="Проверить", callback_data="check")
pasa.add(checkk)
bot.send_message(message.chat.id, """Приветствую тебя!\nПока что нету у тебя доступа к боту!\nПожалуйста подождите когда Администратор выдаст вам права!""", reply_markup=pasa)
@bot.callback_query_handler(func=lambda call:True)
def callback_inline(call):
if call.data == "check":
con = connect()
c = con.cursor()
c.execute("SELECT full FROM user WHERE id = ?",(call.from_user.id, ))
result = c.fetchone()
if result:
full = result[5]
if full:
bot.send_message(call.from_user.id, "Вы находитесь в меню!")
else:
bot.send_message(call.from_user.id, "У вас недостаточно прав!\nПожалуйста подождите когда Администратор выдаст вам права!")
Ошибка такая:
full = result[5]
IndexError: tuple index out of range