Выдает известную информацию о письме.
-- библиотека: mailBox -- объявление: function RequestMailInfo( mailId ) -- параметры: mailId: ObjectId - уникальный идентификатор письма -- возвращаемые значения: table or nil - информация о письме или nil, если письма нет или оно удалено, поля: header: table or nil - краткая информация о письме или nil, если информация недоступна в данный момент, поля: participantName: WString - имя получателя или отправителя. Замечание: нужно игнорировать, если письмо шаблонное (есть mailTemplate). subject: WString - тема письма. Замечание: нужно игнорировать, если письмо шаблонное (есть mailTemplate). hasMoney: boolean - содержит ли письмо денежное вложение hasItems: boolean - содержит ли письмо вложение в виде предметов isReturned: boolean - было ли письмо возвращено адресатом isReturnAllowed: boolean - можно ли это письмо возвращать isReadByRecipient: boolean - было ли письмо прочитано адресатом isReadByOwner: boolean - было ли письмо прочитано отправителем (в случае возврата) isFromSystem: boolean - является ли письмо системным (например, от аукциона и т.п.), системные письма нельзя возвращать отправителю remainingTime: table - таблица с информацией об оставшемся времени нахождения письма в ящике, поля: d: number (int) - дни h: number (int) - часы m: number (int) - минуты s: number (int) - секунды body: table or nil - расширенная информация о письме или nil, если информация недоступна в данный момент, поля: text: WString - тело письма. Замечание: нужно игнорировать, если письмо шаблонное (есть mailTemplate). money: number (int64) - денежная сумма itemSlotCount: number (int) - количество слотов для предметов (т.к. могут быть пустые) items: таблица предметов, индексация [0..], значения: ObjectId or nil - идентификатор предмета или nil, если предмет уже извлечен из письма mailTemplate: table or nil - если письмо шаблонное (от системы), то таблица с информацией о шаблоне письма, иначе nil, поля для таблицы: sysName: string - системное имя шаблона subject: WString - локализованный текст с информацией о предмете письма (может быть ValuedText) from: WString - локализованный текст с информацией об отправителе письма (может быть ValuedText) body: WString - локализованный текст с информацией о теме письма (может быть ValuedText) denyRemoveMailWithItems: boolean - можно ли удалять письмо с предметами clientDataParams: таблица с параметрами для шаблона, по формату аналогична полю values из EVENT_CLIENT_MESSAGE -- пример: local info = mailBox.RequestMailInfo( mailId ) if not info then return end local header = info.header if header then LogInfo( " participantName: ", debugCommon.FromWString( header.participantName ) ) LogInfo( " subject: ", debugCommon.FromWString( header.subject ) ) LogInfo( " hasMoney: ", header.hasMoney ) LogInfo( " hasItems: ", header.hasItems ) LogInfo( " isReturned: ", header.isReturned ) LogInfo( " isReadByRecipient: ", header.isReadByRecipient ) LogInfo( " isReadByOwner: ", header.isReadByOwner ) end if body then LogInfo( " text: ", debugCommon.FromWString( body.text ) ) LogInfo( " money: ", body.money ) LogInfo( " item slots count: ", body.itemSlotCount ) for i = 0, body.itemSlotCount - 1 do local itemId = body.items[i] if itemId then local info = avatar.GetItemInfo( itemId ) if info then LogInfo( "item: ", i, ", name: ", debugCommon.FromWString( info.name ) ) else LogInfo( "wrong item info" ) end else LogInfo( "empty item slot" ) end end end if template then LogInfo( "sysName: ", template.sysName ) LogInfo( "subject: ", FromWs( template.subject ) ) LogInfo( "from: ", FromWs( template.from ) ) LogInfo( "body: ", FromWs( template.body ) ) end
См. также EVENT_CLIENT_MESSAGE.