> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arzguard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Диалоги и уведомления

> Поля, типы и условия видимости объектов: Conversation, ConversationMessage, UserAlert.

Схемы объектов, возвращаемых методами Guard Forum. Таблицы описывают возможные поля: состав конкретного ответа зависит от прав, контекста, детализации и запрошенных связанных объектов. Отсутствующее поле не следует подменять нулём или пустой строкой.

Имена полей и регистр сохраняются: например, `User` и `user_id` — разные поля. Обозначения типов и пагинация описаны в [обзоре схем](https://docs.arzguard.com/guard-forum/models.md).

## Conversation

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `username` | `string` | По контексту объекта | Имя автора или пользователя объекта |
| `recipients` | `object` | По контексту объекта | Соответствие ID участников диалога их именам |
| `is_starred` | `boolean` | По контексту объекта | Добавил ли текущий пользователь диалог в избранное |
| `is_unread` | `boolean` | Условно | Есть ли непрочитанное для текущего пользователя |
| `can_edit` | `boolean` | По контексту объекта | Может ли текущий пользователь редактировать объект |
| `can_reply` | `boolean` | По контексту объекта | Может ли текущий пользователь ответить |
| `can_invite` | `boolean` | По контексту объекта | Может ли текущий пользователь приглашать участников |
| `can_upload_attachment` | `boolean` | По контексту объекта | Может ли текущий пользователь загрузить вложение |
| `view_url` | `string` | По контексту объекта | URL объекта на форуме |
| `conversation_id` | `integer` | По контексту объекта | ID диалога |
| `title` | `string` | По контексту объекта | Название или заголовок |
| `user_id` | `integer` | По контексту объекта | ID пользователя или автора |
| `start_date` | `integer` | По контексту объекта | Дата начала диалога, Unix timestamp в секундах |
| `open_invite` | `boolean` | По контексту объекта | Разрешено ли участникам приглашать других пользователей |
| `conversation_open` | `boolean` | По контексту объекта | Открыт ли диалог для ответов |
| `reply_count` | `integer` | По контексту объекта | Число ответов |
| `recipient_count` | `integer` | По контексту объекта | Число участников |
| `first_message_id` | `integer` | По контексту объекта | ID первого сообщения |
| `last_message_date` | `integer` | По контексту объекта | Дата последнего сообщения, Unix timestamp в секундах |
| `last_message_id` | `integer` | По контексту объекта | ID последнего сообщения |
| `last_message_user_id` | `integer` | По контексту объекта | ID автора последнего сообщения |
| `Starter` | `User` | По контексту объекта | Объект пользователя, начавшего диалог |

## ConversationMessage

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `username` | `string` | По контексту объекта | Имя автора или пользователя объекта |
| `is_unread` | `boolean` | Условно | Есть ли непрочитанное для текущего пользователя |
| `message_parsed` | `string` | По контексту объекта | HTML-представление текста сообщения |
| `can_edit` | `boolean` | По контексту объекта | Может ли текущий пользователь редактировать объект |
| `can_react` | `boolean` | По контексту объекта | Может ли текущий пользователь поставить реакцию |
| `view_url` | `string` | По контексту объекта | URL объекта на форуме |
| `Conversation` | `Conversation` | Условно | Связанный диалог; включается по контексту ответа |
| `Attachments` | `Attachment[]` | Условно | Вложения объекта, если они включены в ответ |
| `is_reacted_to` | `boolean` | По контексту объекта | Поставил ли текущий пользователь реакцию |
| `visitor_reaction_id` | `integer` | По контексту объекта | ID реакции текущего пользователя |
| `message_id` | `integer` | По контексту объекта | ID сообщения диалога |
| `conversation_id` | `integer` | По контексту объекта | ID диалога |
| `message_date` | `integer` | По контексту объекта | Дата сообщения, Unix timestamp в секундах |
| `user_id` | `integer` | По контексту объекта | ID пользователя или автора |
| `message` | `string` | По контексту объекта | Исходный текст сообщения |
| `attach_count` | `integer` | По контексту объекта | Число вложений |
| `reaction_score` | `integer` | По контексту объекта | Суммарный балл реакций |
| `User` | `User` | По контексту объекта | Объект пользователя или автора |

## UserAlert

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `alert_id` | `integer` | По контексту объекта | ID уведомления |
| `alerted_user_id` | `integer` | По контексту объекта | ID получателя уведомления |
| `user_id` | `integer` | По контексту объекта | ID пользователя или автора |
| `username` | `string` | По контексту объекта | Имя автора или пользователя объекта |
| `content_type` | `string` | По контексту объекта | Тип содержимого, к которому относится объект |
| `content_id` | `integer` | По контексту объекта | ID связанного содержимого |
| `action` | `string` | По контексту объекта | Действие, вызвавшее уведомление |
| `event_date` | `integer` | По контексту объекта | Время события, Unix timestamp в секундах |
| `view_date` | `integer` | По контексту объекта | Время просмотра уведомления; 0, если не просмотрено |
| `read_date` | `integer` | По контексту объекта | Время отметки прочтения; 0, если не прочитано |
| `auto_read` | `boolean` | По контексту объекта | Предусмотрено ли автоматическое прочтение |
| `User` | `User` | По контексту объекта | Объект пользователя или автора |
| `alert_text` | `string` | По контексту объекта | Текст уведомления от обработчика типа содержимого, если доступен |
| `alert_url` | `string` | По контексту объекта | URL уведомления от обработчика типа содержимого, если доступен |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.