@merchfck

Как вытащить ник из функции и привязать его к человеку?

В общем, я делаю ники для участников беседы, создаю функцию niki, в которой расписан ход действий и моя база sqlite3.
Если в сообщении в беседе есть /ник (nickname), то ник регистрируется и делается индивидуальным. Нужно сделать так, чтобы после написании ника, ник присвоился именно этому человеку, никакому другому, то есть к его id. Затем нужно, чтобы этот ник можно было использовать в дальнейших командах, пример приведу ниже основного кода.
db = sqlite3.connect("niki.db")
    sql = db.cursor()

    sql.execute("""CREATE TABLE IF NOT EXISTS users (
        nickname TEXT
    )""")
    db.commit()

    def niki():
        user_nickname011 = event.object.message['text'] #тут я убираю /ник, чтобы остался сам никнейм для обозначения
        user_nickname01 = user_nickname011.split()
        fragment_da = '/ник'
        new_words001 = []
        for word in user_nickname01:
            if fragment_da not in word:
                new_words001.append(word)
        user_nickname = ' '.join(new_words001)
        sql.execute(f"SELECT nickname FROM users WHERE nickname = '{user_nickname}'")
        if sql.fetchone() is None:
            sql.execute(f"INSERT INTO users VALUES (?)", (user_nickname,))
            db.commit()
            vk_session.method('messages.send', {'chat_id':id, "message": "зареган", 'random_id' : 0})
        else:
            vk_session.method('messages.send', {'chat_id':id, "message": "такой ник уже есть", 'random_id' : 0})

    if "/ник" in msg: #сама регистрация никнейма
        niki()

#пример использования ника
if user_id == id2 and "/тест" in msg: #id2 = это id привязанные к участникам беседы
       vk_session.method('messages.send', {'chat_id':id, "message" : f"{user_nickname}", 'random_id' : 0}) #тут мне пишет, что нет такой переменной
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы