Обработка нескольких одновременных событий VK на Python

Передомной стоит задача написать код бота на Python, который при входе в беседу VK будет отправлять приветствие, но с одной особенностью. Если пользователей за n-ый промежуток времени заходит несколько, допустим это будет 5 секунд, то приветствие будет затрагивать всех вошедших упоминанием в одном сообщении, а не писать для каждого отдельное, создавая лишний флуд. Уже очень долго ищу решение, как это можно сделать, но на данный момент у меня получается лишь собрать всех вошедших в один список, а как его обработать через 5 секунд - большой вопрос. Прошу оказать помощь.

Мой код выглядит примерно так:

invites = {}
if event.object.action == 'chat_invite_user':
    invites[event.object.peer_id] = [].append(event.object.member_id)

Возможно, даже этот код можно написать на много лучше, но у меня в голове пока только это.


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

Автор решения: Danil Apsadikov

Поставь отложенный вызов функции в 5 секунд. Код будет работать так:

  1. Заходит пользователе, через 5 секунд сработает функция приветствия
  2. В течении следующих 5 секунд заходит какое-то количество человек
  3. Через 5 секунд функция берет из списка пользователей, которые зашли и отправляет одно приветствие для всех

А вообще не вижу в этом смысла, так как ситуация, когда в беседу заходят сразу несколько человек за 5 секунд, очень редкая. Проще сделать приветствия для каждого пользователя отдельно

→ Ссылка