Выдаёт информацию о письмах, предварительно полученную с сервера запросом mailBox.RequestMails( startIndex, count ). После приходе события EVENT_MAILBOX_CHANGED_ON_SERVER будет возвращать nil до следующего запроса mailBox.RequestMails( startIndex, count ).
-- библиотека:
mailBox
-- объявление:
function GetMails()
-- параметры:
нет
-- возвращаемые значения:
table of tables или nil - nil если писем нет; иначе список (индексируемый с 0) таблиц, каждая из которых описывает отдельное письмо в формате:
mailId: ObjectId - идентификатор письма
createdAt: LuaFullDateTime (table) - дата создания
owneredAt: LuaFullDateTime (table) - дата получения
remainingTime: : table - таблица с информацией об оставшемся времени нахождения письма в ящике, поля:
d: number (int) - дни
h: number (int) - часы
m: number (int) - минуты
s: number (int) - секунды
participantName: WString - имя получателя или отправителя. Замечание: нужно игнорировать, если письмо системное (см. поле flags.fromSystem)
flags: table - поля:
accountShared: boolean
fromSystem: boolean - письмо от системных сервисов
readByOwner: boolean - прочитано нынешним владельцем письма (если письмо было возвращено, то владелец и адресат разные)
readByRecipient: boolean - прочитано адресатом письма
returnAllowed: boolean - разрешено вернуть письмо отправителю
returned: boolean - письмо было возвращено
subject: WString - тема письма. Замечание: нужно игнорировать, если письмо системное (см. поле flags.fromSystem)
body: WString - тело письма. Замечание: нужно игнорировать, если письмо системное (см. поле flags.fromSystem)
money: number (int64) - денежная сумма, содержащаяся в письме
items: таблица предметов, ключи - номерами слотов [0..], значения: ObjectId or nil - идентификатор предмета или nil, если предмет уже извлечен из письма; максимальное число слотов можно узнать из mailBox.GetLimits()
systemMail: table или nil - nil если письмо не системное (см. поле flags.fromSystem); иначе таблица с шаблонами полей письма:
body: WString - шаблон тела письма
from: WString - шаблон тела письма
subject: WString - шаблон тела письма
denyRemoveMailWithItems: boolean - можно ли удалять письмо с предметами
sysName: string - системное имя шаблона (нелокализуемое)
voteResource: VoteId (ResourceId), идентификатор опроса, если проводится
clientDataParams: table или nil - nil если письмо не системное (см. поле flags.fromSystem); иначе таблица с параметрами для шаблонов из systemMail, по формату аналогична полю values из EVENT_CLIENT_MESSAGE
-- пример:
local mailList = mailBox.GetMails()
См. также