Получение сообщений
Для получения сообщений вы мож ете использовать следующие методы типа СистемаВзаимодействия
:
-
ПолучитьНепрочитанныеСообщения()
— возвращает непрочитанные сообщения для указанного обсуждения. Количество запрашиваемых сообщений устанавливается параметромЛимитСообщений
, но не может превышать 100 (даже если фактических сообщений больше). Установить последнее прочитанное сообщение в обсуждении можно с помощью методаУстановитьПоследнееПрочитанноеСообщение()
. Непрочитанными будут считаться сообщения, которые следуют после указанного сообщения. -
ПолучитьСообщения()
— возвращает сообщения указанного обсуждения. Количество запрашиваемых сообщений устанавливается параметромЛимитСообщений
, но не может превышать 100 (даже если фактических сообщений больше). Сообщения возвращаются в порядке от последних созданных к более ранним. Если задан параметрНачальноеСообщение
, то будут выбраны сообщения, созданные ранее указанного. -
НайтиСообщение()
— возвращает сообщение системы взаимодействия по его идентификатору. Если сообщение не найдено, будет во звращеноНеопределено
. Длительность ожидания определяется параметромТаймаут
.
ОжидатьНовыеСообщения()
— если на момент запуска есть непрочитанные сообщения, то возвращается их список. Если сообщений нет, то выполняется ожидание поступления новых. Длительность ожидания определяется параметромТаймаут
.
Получение непрочитанных обсуждений и сообщений
попытка
// Получение непрочитанных обсуждений.
пер МассивИдНепрочитанныхОбсуждений = СистемаВзаимодействия.ПолучитьНепрочитанныеОбсуждения(ЛимитОбсуждений = 10)
// Получение непрочитанных сообщений из каждого непрочитанного обсуждения (выдаются в хронологическом порядке).
для ИдНепрочитанногоОбсуждения из МассивИдНепрочитанныхОбсуждений
// Консоль.Записать("Обсуждение # " + ИдНепрочитанногоОбсуждения)
пер МассивНовыхСообщений = СистемаВзаимодействия.Получ итьНепрочитанныеСообщения(ИдНепрочитанногоОбсуждения)
для Сообщение из МассивНовыхСообщений
// Консоль.Записать("Сообщение # " + Сообщение.Ид + " : " + Сообщение.Текст)
// Установка прочитанного сообщения как последнего прочитанного.
СистемаВзаимодействия.УстановитьПоследнееПрочитанноеСообщение(ИдНепрочитанногоОбсуждения, Сообщение.Ид)
;
;
поймать Исключение : ИсключениеСистемыВзаимодействия
// Обработка исключения...
;
Получение сообщения по идентификатору
знч ИдСообщения = Ууид{520a34cb-f8cb-4c79-ba78-45b7fdfb080d}
знч Таймаут = 5с
пер Сообщение: СообщениеВзаимодействия?
попытка
Сообщение = СистемаВзаимодействия.НайтиСообщение(ИдСообщения, Таймаут)
поймать Исключение: ИсключениеСистемыВзаимодействия
если Исключение это ИсключениеЗапретаДоступаСистемыВзаимодействия
// Консоль.Записать("Нет доступа к сообщению '%ИдСообщения'.")
иначе если Исключение это ИсключениеТаймаутаСистемыВзаимодействия
// Консоль.Записать("Время ожидания ответа вышло. Попробуйте снова.")
иначе если Исключение это ИсключениеНеНайденОбъектСистемыВзаимодействия
// Консоль.Записать("Сообщение '%ИдСообщения' не найдено.")
;
;