Логика получения списка общих каналов

Здесь обсуждаются технические аспекты создания дополнений.
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Логика получения списка общих каналов

Сообщение $teelR@t »

Не могу понять логики получения списка общих каналов.
Допустим клиент хочет получить список общих каналов. Что ему надо сделать:
1. Получить список общих каналов (1040).
2. Отфильтровать список общих каналов убрав скрытые каналы (для каждого полученного канала вызвать 1064).

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

Предлагаю:
Добавить событие добавление нового канала (чтобы плагин мог добавлять его в свой внутренний список, а не периодически запрашивать список всех каналов чата).
или
Список общих каналов не показывает скрытые каналы или к ним добавляется дополнительный параметр, указывающий на скрытость канала.

Желательно конечно первый вариант, так как тогда мы вообще избавимся от рассинхронизации. Считаю затратным постоянно запрашивать список каналов и информацию по ним.
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Логика получения списка общих каналов

Сообщение Maxim Mirgorodsky »

Событие 1040 позволяет получить список только открытых каналов.

В документации соответствующее уточнение внесем.

Клиент CommFort в списке еще скрывает пустые каналы. Но плагин их получает.
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: Логика получения списка общих каналов

Сообщение $teelR@t »

Maxim Mirgorodsky писал(а):Событие 1040 позволяет получить список только открытых каналов.

В документации соответствующее уточнение внесем.

Клиент CommFort в списке еще скрывает пустые каналы. Но плагин их получает.
Да, действительно, плагин получает только те каналы, которые отображаются в списке каналов, даже если в них нет пользователей.
Сперва подумал, что он получает все каналы, включая скрытые, так как в родном клиенте я не видел часть каналов. Теперь вы разъяснили ситуацию, что в клиенте не показываются еще и пустые каналы.
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
Ответить