Есть бот с БД, в которой есть id и баланс. Нужно вывести баланс, я делаю это через переменную, но она не определяется. Почему она не определяется?
import telebot
from telebot import types
import sqlite3
#bot
bot = telebot.TeleBot("токич")
@bot.message_handler(commands=['start'])
def start(message):
connect = sqlite3.connect('acc.db')
cursor = connect.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS login(
id INTEGER,
balance INTEGER)
""")
connect.commit()
#Проверка id
u_id = message.chat.id
cursor.execute(f"SELECT id FROM login WHERE id = {u_id}")
data = cursor.fetchone()
if data is None:
#Добавление значений
user_id = [message.chat.id]
cursor.execute("INSERT INTO login VALUES(?, ?);",[user_id, 0])
connect.commit()
#клавиатура
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("✔Согласиться с правилами")
markup.add(item1)
#сообщение
bot.send_message(message.chat.id,'Пользовательское соглашение ✏️\n'
'не грустить\nопределить переменную a'
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def lalala(message):
global a
connect = sqlite3.connect('acc.db')
cursor = connect.cursor()
for value in cursor.execute("""SELECT * FROM login"""):
a = value[1] #эта a не определяется
if message.text == '✔Согласиться с правилами':
bot.send_message(message.chat.id,f'Баланс: {a}') #тут она не определяется