def event1():#ЦИКЛ 1 В ФУНКЦИИ ЧТОБЫ ВЫЙТИ ИЗ ВЛОЖ ЦИКЛОВ
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
message = event.text.lower()
id = event.user_id
vk_session.method('messages.send', {'peer_id' : id, 'message' : 'Нажми на кнопоку', 'keyboard' : start_key, 'random_id' : 0})
while True:
id = event.user_id
sql.execute("SELECT * FROM users WHERE id = ?", (id,))
# ПРОВЕРКА ЕСТЬ ЛИ id в БД
user = sql.fetchone()
if user == None:# ЕСЛИ НЕТ
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
message = event.text.lower()
id = event.user_id
if message == 'начать':
vk_session.method('messages.send', {'peer_id' : id, 'message' : 'Вы ещё не зарегистрированы\n\nНапишите свой никнейм', 'random_id' : 0})
break
else:
vk_session.method('messages.send', {'peer_id' : id, 'message' : 'Вы ещё не зарегистрированы\n\nНапишите свой никнейм', 'random_id' : 0})
break
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
message = event.text.lower()
id = event.user_id
nik = message
vk_session.method('messages.send', {'peer_id' : id, 'message' : 'Ваш профиль:\nID — '+str(id)+'\nНик — '+nik, 'random_id' : 0})
user = (id, nik)
sql.execute("INSERT INTO Users VALUES(?, ?);", user)
db.commit()
break
elif user != None:# ЕСЛИ ЕСТЬ, ТО ВЫХОДИМ ИЗ ВСЕХ ЦИКЛОВ И ПЕРЕХОДИМ НА ЦИКЛ 2
vk_session.method('messages.send', {'peer_id' : id, 'message' : 'Вы зарегистрированы', 'keyboard' : menu_key, 'random_id' : 0})
return
a = event1() # ЦИКЛ 1 ФУНКЦИИ
for event in longpoll.listen(): # ЦИКЛ 2
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
message = event.text.lower()
id = event.user_id
if message == 'меню':
# ...
# здесь чел должен оказаться если он есть в БД
Если первый чел напишет боту и дойдет до цикла 2, то другой чел, которого нет в БД, написавший боту, тоже окажется на цикле 2.