Как сделать, чтобы чат бот ВК на питоне отвечал каждому пользователю по отдельности?

Пишу простого чат бота для квиза на питоне. Проблема заключается в том, что если люди пишут ему в разное время, то все хорошо работает и он им отвечает каждому по отдельности. А когда люди пишут ему одновременно, то он работает сразу на всех и мешает их сообщения и свои ответы. Например: Один пользователь один отвечает на вопрос, а бот засчитывает это за ответ и другого пользователя, поэтому сбивается вся программа. Подскажите, пожалуйста, как это исправить.

for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
  if event.to_me:
    
    msg = event.text.lower()
    id = event.user_id
            
    if msg == 'хочу проверить свои знания':
      for i in id_list:
        if i == id:
          i = 1
          break
      if i == 1:
        sender(id, 'Вы уже вытянули свой билет')
      else:
        sender(id, answer, old_keyboard)
    
    if msg == 'тянуть билет':
      ticket_num = random.randint(1,max_value)
      ticket_txt = tickets.tickets[ticket_num]['questions']['first']
      id_list.append(id)
      sender(id, ticket_txt)
      questions_got = 1

    if questions_got == 1 and msg != 'тянуть билет':
        if msg == tickets.tickets[ticket_num]['answers']['first'].lower():
          ticket_txt = 'Правильно! Следующий вопрос: ' + tickets.tickets[ticket_num]['questions']['second']
          sender(id, ticket_txt)
          questions_got = 2
          right_answers += 1
        else:
          ticket_txt = 'К сожалению, вы ошиблись. \n Правильный ответ: ' + tickets.tickets[ticket_num]['answers']['first'] + '\nСледующий вопрос:\n ' + tickets.tickets[ticket_num]['questions']['second']
          sender(id, ticket_txt)
          questions_got = 2

    elif questions_got == 2 and msg != 'тянуть билет':
      if msg == tickets.tickets[ticket_num]['answers']['second'].lower():
        ticket_txt = 'Правильно! Следующий вопрос: ' + tickets.tickets[ticket_num]['questions']['third']
        sender(id, ticket_txt)
        questions_got = 3
        right_answers += 1
      else:
        ticket_txt = 'К сожалению, вы ошиблись. \n Правильный ответ: ' + tickets.tickets[ticket_num]['answers']['second'] + '\nСледующий вопрос:\n ' + tickets.tickets[ticket_num]['questions']['third']
        sender(id, ticket_txt)
        questions_got = 3

    elif questions_got == 3 and msg != 'тянуть билет':
      if msg == tickets.tickets[ticket_num]['answers']['third'].lower():
        right_answers += 1
        ticket_txt = 'Правильно!\n' + 'Вы ответили правильно на ' + str(right_answers) + ' вопросов.'
        sender(id, ticket_txt)
        
      else:
        ticket_txt = 'К сожалению, вы ошиблись. \n Правильный ответ: ' + tickets.tickets[ticket_num]['answers']['second'] + '\nВы ответили правильно на ' + str(right_answers) + ' вопросов.'
        sender(id, ticket_txt)  

Ответы (0 шт):