|
|
Line 1: |
Line 1: |
| local p = {}
| | print("Total nigger death") |
| | |
| local function makeError(msg)
| |
| msg ='Error in [[Template:Ping]]: ' .. msg
| |
| return mw.text.tag('strong', {['class']='error'}, msg)
| |
| end
| |
| | |
| function p.replyto(frame)
| |
| local origArgs = frame:getParent().args
| |
| local args = {}
| |
| local maxArg = 1
| |
| local usernames = 0
| |
| for k, v in pairs(origArgs) do
| |
| if type(k) == 'number' then
| |
| if mw.ustring.match(v,'%S') then
| |
| if k > maxArg then maxArg = k end
| |
| usernames = usernames + 1
| |
| local title = mw.title.new(v)
| |
| if not title then return makeError('Input contains forbidden characters.') end
| |
| args[k] = title.rootText
| |
| end
| |
| elseif v == '' and k:sub(0,5) == 'label' then
| |
| args[k] = '​'
| |
| else
| |
| args[k] = v
| |
| end
| |
| end
| |
| | |
| if usernames > (tonumber(frame.args.max) or 50) then
| |
| return makeError(string.format(
| |
| 'More than %s names specified.',
| |
| tostring(frame.args.max or 50)
| |
| ))
| |
| else
| |
| if usernames < 1 then
| |
| if frame.args.example then args[1] = frame.args.example else return makeError('Username not given.') end
| |
| end
| |
| args['label1'] = args['label1'] or args['label']
| |
| local isfirst = true
| |
| local outStr = args['prefix'] or '@'
| |
| for i = 1, maxArg do
| |
| if args[i] then
| |
| if isfirst then
| |
| isfirst = false
| |
| else
| |
| if ( (usernames > 2) or ((usernames == 2) and (args['c'] == '')) ) then outStr = outStr..', ' end
| |
| if i == maxArg then outStr = outStr..' '..(args['c'] or 'and') .. ' ' end
| |
| end
| |
| outStr = string.format(
| |
| '%s[[User:%s|%s]]',
| |
| outStr,
| |
| args[i],
| |
| args['label'..tostring(i)] or args[i]
| |
| )
| |
| end
| |
| end
| |
| outStr = outStr..(args['p'] or ':')
| |
| return mw.text.tag('span', {['class']='template-ping'}, outStr)
| |
| end
| |
| end
| |
| | |
| return p
| |
Documentation for this module may be created at Module:Reply to/doc
print("Total nigger death")