Как одновременно обрабатывать запросы 2 и более аккаунтов?

При создании бота столкнулся с такой проблемой, что при отправке сообщений с двух разных аккаунтов ВК, бот работает последовательно, то есть всё равно, что если бы я писал боту с одного аккаунта. Допустим, если Пользователь 1 в меню дошёл до выбора проектов(в коде project1 и тд), а Пользователь 2 находится в меню выбора игры(в коде game1 и тд) и Пользователь 2 выбирает допустим game1, то он переходит сразу в меню выбора серверов(в коде server1 и тд), хотя по логике вещей должен был перейти в меню выбора проектов. Как можно решить эту проблему? Использую библиотеки: asyncio и aiovk

async def main():
session = TokenSession(access_token=TOKEN())
api = API(session)
longpoll = BotsLongPoll(session, mode=8, group_id=VK_GROUP_ID())

while True:
    try:
        data = await longpoll.wait()
        updates = data['updates']

        for event in updates:
            if event['type'] == 'message_new':
                payload = event['object']['message']['payload']
                responce = event['object']['message']['text'].lower
                dict_event = event['object']['message']

                if payload == '{"button":"1"}':
                    await api('messages.send',
                              peer_id=event['object']['message']['peer_id'],
                              message="game 1\n",
                              random_id=0,
                              keyboard=keyboardReturnMenu)

                elif (responce == '1') and (payload_event == '{"button":"1"}'): \
                    stage3_menu1 = 1
                    await api('messages.send',
                              peer_id=event['object']['message']['peer_id'],
                              message="project 1\n",
                              random_id=0,
                              keyboard=keyboardReturnMenu)

                elif (stage3_menu1 == 1) and (responce == '1'):
                    stage3_menu1 = 0
                    await api('messages.send',
                              peer_id=event['object']['message']['peer_id'],
                              message="server 1\nserver 2\nserver 3\n",
                              random_id=0,
                              keyboard=keyboardReturnMenu)


                if dict_event.get('payload') != None:
                    payload_event = event['object']['message']['payload']
                else:
                    payload_event = None

    except Exception as E:
        time.sleep(1)
        await session.close()

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

Автор решения: Asidert

Используйте класс Thread из пакета threading.

Thread(target=<название_функции_обработчика>,args=(<аргументы>,)).start()
→ Ссылка