Module:Unsigned

From Path of Exile 2 Wiki
Revision as of 22:16, 10 January 2021 by Vinifera7 (talk | contribs) (Created page with "local getArgs = require('Module:Arguments').getArgs local p = {} function p.main(frame) local args = getArgs(frame, { wrappers = 'Template:Unsigned' }) r...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Module documentation[create] [purge]
local getArgs = require('Module:Arguments').getArgs

local p = {}

function p.main(frame)
    local args = getArgs(frame, {
        wrappers = 'Template:Unsigned'
    })
    return p._main(args)
end

function p._main(args)
    if not args[1] then
        error('Argument "1" is required')
    end
    local username
    local timestamp = mw.ustring.match(args[1], '([^ ]+ [^ ]+ [^ ]+ [^ ]+) .+')
    if timestamp then -- Revision history format
        username = mw.ustring.match(args[1], '[^ ]+ [^ ]+ [^ ]+ [^ ]+ (.+)')
        timestamp = timestamp .. ' (UTC)'
    else -- Standard format
        username = args[1]
        timestamp = args[2] or ''
        if #timestamp > 0 and not mw.ustring.find(timestamp, '(UTC)', 1, true) then
            timestamp = timestamp .. ' (UTC)'
        end
    end
    local html = mw.html.create()
    html
        :tag('small')
            :wikitext(
                mw.ustring.format(
                    '—Preceding [[gphelp:Signatures|unsigned]] comment added by %s (%s • %s) %s',
                    mw.ustring.format('[[User:%s|%s]]', username, username),
                    mw.ustring.format('[[User talk:%s#top|talk]]', username),
                    mw.ustring.format('[[Special:Contributions/%s|contribs]]', username),
                    timestamp
                )
            )
            :done()
    return tostring(html)
end

return p