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

На главную


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
EventMailboxNewUnreadMessage
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
VoteId


CategoryLuaApi CategoryFunction CategoryMailBox

На главную