# Пользовательские дополнения

На главную

## mailBox.RequestMailInfo( mailId )

Выдает известную информацию о письме.

    -- библиотека:
    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.

#### Связанные страницы: "CategoryLuaApi" "CategoryMailBox"

CategoryMailBox
EnumCreateMailResult
EnumMailServiceReply
EventMailBoxActivated
EventMailBoxChanged
EventMailBoxChangedOnServer
EventMailBoxClosed
EventMailboxNewMailArrived
EventMailBoxServerOperationResult
EventMailCreateResult
EventMailDeleteResult
EventMailExtractItemsResult
EventMailExtractMoneyResult
EventMailReturnResult
EventMailsChanged
FunctionMailBoxClose
FunctionMailBoxDeleteMail
FunctionMailBoxExtractMailItems
FunctionMailBoxExtractMailMoney
FunctionMailBoxFirstPage
FunctionMailBoxGetInfo
FunctionMailBoxGetLimits
FunctionMailBoxGetMail
FunctionMailBoxGetMails
FunctionMailBoxIsActive
FunctionMailBoxIsInteracting
FunctionMailBoxIsReady
FunctionMailBoxNextPage
FunctionMailBoxOpen
FunctionMailBoxPrevPage
FunctionMailBoxReadMail
FunctionMailBoxRequestMail
FunctionMailBoxRequestMailGroupOperation
FunctionMailBoxRequestMailIds
FunctionMailBoxRequestMailInfo
FunctionMailBoxRequestMails
FunctionMailBoxReturnMailToSender

CategoryLuaApi CategoryFunction CategoryMailBox

На главную