форма регистрации:, где проблема с условием
if db.get_signup
.......
from db import Database
@dp.message_handler()
async def bot_message(message: types.Message):
if message.chat.type == 'private':
if message.text == 'Профиль':
pass
else:
if db.get_signup(message.from_user.id) == 'setnickname':
if len(message.text) > 15:
await bot.send_message(message.from_user.id, "Ваш ник не должен превышать 15 символов")
elif '@' in message.text or '/' in message.text:
await bot.send_message(message.from_user.id, 'Вы ввели запрещенный символ')
else:
db.set_nickname(message.from_user.id, message.text)
db.set_signup(message.from_user.id, "done")
await bot.send_message(message.from_user.id, "Регистрация прошла успешно!", reply_markup=nav.mainMenu)
else:
await bot.send_message(message.from_user.id, 'Что?')
файл db. Весь копировать не буду.... только функцию, которую хочу вызвать:
import sqlite3
class Database:
def __init__(self, db_file):
self.connection = sqlite3.connect(db_file)
self.cursor = self.connection.cursor()
def get_signup(self, user_id):
with self.connection:
result = self.cursor.execute("SELECT 'signup' FROM 'users' WHERE 'user_id' = ?", (user_id,)).fetchall()
for row in result:
signup = str(row[0])
return signup
пишет ошибку:
UnboundLocalError: cannot access local variable 'signup' where it is not associated with a value
Я понимаю, что нет доступа к переменной signup, пытался сделать её глобальной - ничего не меняется. Что я упускаю?