Страница 1 из 1

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

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

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

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

Желательно конечно первый вариант, так как тогда мы вообще избавимся от рассинхронизации. Считаю затратным постоянно запрашивать список каналов и информацию по ним.

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

Добавлено: 16:01, 03.11.2011
Maxim Mirgorodsky
Событие 1040 позволяет получить список только открытых каналов.

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

Клиент CommFort в списке еще скрывает пустые каналы. Но плагин их получает.

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

Добавлено: 17:55, 03.11.2011
$teelR@t
Maxim Mirgorodsky писал(а):Событие 1040 позволяет получить список только открытых каналов.

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

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