mirror of
https://github.com/mt-mods/mail.git
synced 2025-07-08 07:30:34 -04:00
storage format docs
This commit is contained in:
parent
894e5df4b1
commit
9b2883030a
3 changed files with 43 additions and 10 deletions
3
gui.lua
3
gui.lua
|
@ -116,7 +116,6 @@ function mail.show_inbox(name)
|
||||||
|
|
||||||
if messages[1] then
|
if messages[1] then
|
||||||
for _, message in ipairs(messages) do
|
for _, message in ipairs(messages) do
|
||||||
mail.ensure_new_format(message, name)
|
|
||||||
if mail.getMessageStatus(name, message.id) == "unread" then
|
if mail.getMessageStatus(name, message.id) == "unread" then
|
||||||
if not mail.player_in_list(name, message.to) then
|
if not mail.player_in_list(name, message.to) then
|
||||||
formspec[#formspec + 1] = ",#FFD788"
|
formspec[#formspec + 1] = ",#FFD788"
|
||||||
|
@ -454,13 +453,11 @@ function mail.show_compose(name, defaultto, defaultsubj, defaultbody, defaultcc,
|
||||||
end
|
end
|
||||||
|
|
||||||
function mail.reply(name, message)
|
function mail.reply(name, message)
|
||||||
mail.ensure_new_format(message)
|
|
||||||
local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body
|
local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body
|
||||||
mail.show_compose(name, message.sender, "Re: "..message.subject, replyfooter)
|
mail.show_compose(name, message.sender, "Re: "..message.subject, replyfooter)
|
||||||
end
|
end
|
||||||
|
|
||||||
function mail.replyall(name, message)
|
function mail.replyall(name, message)
|
||||||
mail.ensure_new_format(message)
|
|
||||||
local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body
|
local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body
|
||||||
|
|
||||||
-- new recipients are the sender plus the original recipients, minus ourselves
|
-- new recipients are the sender plus the original recipients, minus ourselves
|
||||||
|
|
44
storage.lua
44
storage.lua
|
@ -5,7 +5,8 @@ function mail.get_storage_entry(playername)
|
||||||
return {
|
return {
|
||||||
contacts = {},
|
contacts = {},
|
||||||
inbox = {},
|
inbox = {},
|
||||||
outbox = {}
|
outbox = {},
|
||||||
|
lists = {}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
-- deserialize existing entry
|
-- deserialize existing entry
|
||||||
|
@ -13,6 +14,47 @@ function mail.get_storage_entry(playername)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--[[
|
||||||
|
Mail format (inbox, outbox):
|
||||||
|
{
|
||||||
|
-- sending player name
|
||||||
|
sender = "",
|
||||||
|
-- receiving player name
|
||||||
|
to = "",
|
||||||
|
-- carbon copy (optional)
|
||||||
|
cc = "",
|
||||||
|
-- blind carbon copy (optional)
|
||||||
|
bcc = "",
|
||||||
|
-- mail subject
|
||||||
|
subject = "",
|
||||||
|
-- mail body
|
||||||
|
body = "",
|
||||||
|
-- timestamp (os.time())
|
||||||
|
time = 1234,
|
||||||
|
-- read-flag (true: player has read the mail, inbox only)
|
||||||
|
read = true
|
||||||
|
}
|
||||||
|
|
||||||
|
Contact format:
|
||||||
|
{
|
||||||
|
-- name of the player
|
||||||
|
name = "",
|
||||||
|
-- note
|
||||||
|
note = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
Mail-list format:
|
||||||
|
{
|
||||||
|
-- name of the maillist
|
||||||
|
name = "",
|
||||||
|
-- description
|
||||||
|
description = "",
|
||||||
|
-- player list (delimited by newline)
|
||||||
|
players = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
--]]
|
||||||
|
|
||||||
function mail.set_storage_entry(playername, entry)
|
function mail.set_storage_entry(playername, entry)
|
||||||
mail.storage:get_string(playername, minetest.write_json(entry))
|
mail.storage:get_string(playername, minetest.write_json(entry))
|
||||||
end
|
end
|
||||||
|
|
|
@ -59,9 +59,3 @@ function mail.player_in_list(name, list)
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
function mail.ensure_new_format(message, name)
|
|
||||||
if message.to == nil then
|
|
||||||
message.to = name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue