Обработка нескольких одновременных событий 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 шт):
Поставь отложенный вызов функции в 5 секунд. Код будет работать так:
- Заходит пользователе, через 5 секунд сработает функция приветствия
- В течении следующих 5 секунд заходит какое-то количество человек
- Через 5 секунд функция берет из списка пользователей, которые зашли и отправляет одно приветствие для всех
А вообще не вижу в этом смысла, так как ситуация, когда в беседу заходят сразу несколько человек за 5 секунд, очень редкая. Проще сделать приветствия для каждого пользователя отдельно