Упоминания
Упоминания позволяют привлечь внимание конкретного пользователя или всех участников чата к сообщению.
Упоминание пользователя (@username)
Введите @ и начните набирать имя пользователя. Появится выпадающий список с подходящими участниками. Выберите нужного -- в сообщение вставится упоминание.
Поиск пользователя выполняется по:
- имени пользователя (
username); - отображаемому имени (
display_name); - отображаемому имени без пробелов;
- локальной части email (до
@).
Пример: для пользователя ivan с отображаемым именем "Иван Петров" и email ipetr@company.ru сработает любой из вариантов: @ivan, @ИванПетров, @ipetr.
Упоминание всех (@all / @everyone)
Для уведомления всех участников чата используйте:
@all@everyone
Эти упоминания не преобразуются в ссылки, но распознаются системой уведомлений и доставляются каждому участнику.
Серверная обработка
При отправке сообщения сервер выполняет resolveMentions -- автоматическое преобразование текстовых упоминаний в ссылки:
- Из текста сообщения извлекаются все вхождения
@имя. - Каждый токен ищется в базе пользователей (по username, display_name, email).
- Найденные совпадения заменяются на формат
[@имя](mention:ID).
Пример: текст Привет, @ivan после обработки станет Привет, [@ivan](mention:42), где 42 -- ID пользователя.
Это позволяет клиенту отрисовывать упоминания как кликабельные ссылки с переходом к профилю.
Уведомления
Упоминания генерируют уведомления с типом mention. Уведомление приходит:
- При персональном упоминании (
@username) -- конкретному пользователю. - При
@all/@everyone-- всем участникам чата.
Уведомления доставляются через:
- WebSocket (мгновенное уведомление в интерфейсе);
- Web Push (если приложение свёрнуто или закрыто);
- историю уведомлений (раздел "Уведомления" в приложении).
Режимы уведомлений в каналах
Для каналов (teams) пользователь может настроить режим уведомлений:
| Режим | Поведение |
|---|---|
all | Уведомлять о каждом сообщении |
mentions | Уведомлять только при упоминании |
muted | Не уведомлять |