Модуль:Reply to

На этом модуле реализован шаблон {{reply to}}.


local p = {}
local getArgs = require('Module:Arguments').getArgs
local error = require('Module:Error').error

function p.main(frame)
	local args = getArgs(frame, {removeBlanks = false})
	local users = {}
	local limit = tonumber(args.limit) or 50
	local i = 1
	while args[i] and i <= limit do
		users[i] = string.format('[[Участник:%s|%s]]', args[i], args['label' .. i] or args['l' .. i] or args[i])
		i = i + 1
	end
	if not next(users) then
		return error{'Ошибка в [[Шаблон:Reply to]]: имя участника не задано'}
	end
	return tostring(
		mw.html.create('span')
			:addClass('template-ping')
			:wikitext('@' .. table.concat(users, ', ') .. ( args['p'] or ':' ))
	)
end

return p