Как обьеденять ивенты или по другому слушать сразу все ивенты от опр. человека?

Ссылка скопирована
25 марта 2026 1 ответ

У меня есть ивенты 'chat_invite_user', 'chat_invite_user_by_link', и их я распознаю по одиночке, мне нужно собирать все ивенты в одну кучку от 1 чата, и потом через запятую перечислять всех и приветствовать:

vk.updates.on(['chat_invite_user', 'chat_invite_user_by_link'], async (message) => { //код приветствия });

vk.updates.on(['chat_invite_user', 'chat_invite_user_by_link'], async (message) => { //код приветствия });

Я так думаю что нужно обрабатывать через ожидающую функцию, например setTimeOut и сохранять запрос, приходит еще один одинаковый запрос то я ломаю таймер и снова запускаю его. Подскажите как можно начать.

Дополнительно:

не нужно тебе ивенты собирать в одну кучу, правильнее бы сделать общие ивенты для всех чатов
если ты не смог придумать как внутри ивентах определять что за чат, то твой костыль с кучей ивентов к каждому из чатов - это не правильно

лучше расскажи поподробнее что ты хочешь сделать, а не пиши свои панические мысли тут

Ответы:

Можно использовать готовый вариант моего модуля, с таким методом можно ловить все ивенты и выводить в консоль.

import { VK, Method } from 'vkstatic'  const params = {    token: String (),    groupId: Number () }  const vk = new VK ({ ...params })  const bot = async () => { await new Method () .event (response => {    console.log (response.event.event_type) }) }       bot ()

import { VK, Method } from 'vkstatic' const params = { token: String (), groupId: Number () } const vk = new VK ({ ...params }) const bot = async () => { await new Method () .event (response => { console.log (response.event.event_type) }) } bot ()

  • Используется библиотека Vk Io
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Для объединения или прослушивания всех событий от определенного человека вам необходимо использовать делегирование событий. Делегирование событий позволяет нам прослушивать события на родительском элементе и определять, какой именно элемент сгенерировал событие.

Пример на языке PHP:

document.addEventListener('click', function(event) {
  if (event.target.classList.contains('person')) {
    // Обработка события для определенного человека
    console.log('Событие для человека с классом person было сгенерировано');
  }
});

document.addEventListener('click', function(event) { if (event.target.classList.contains('person')) { // Обработка события для определенного человека console.log('Событие для человека с классом person было сгенерировано'); } });

В этом примере мы добавляем обработчик событий на документ, который проверяет, содержит ли целевой элемент класс 'person'. Если да, то мы можем выполнить необходимые действия.

Таким образом, вы можете использовать делегирование событий для прослушивания всех событий от определенного человека на вашем сайте. Не забывайте, что делегирование событий является более эффективным способом управления событиями на странице, особенно если у вас большое количество элементов, от которых нужно слушать события.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно