Bu modulun sənədləşdirmə səhifəsi Modul:İmzasız/doc səhifəsində yaradıla bilər

local p = {} -- p stands for package

function p.main (frame)
	local arg1 = mw.ustring.gsub(frame:getParent().args[1] or '', '\226\128\142', '') -- invisible ‎ mark
	local arg2 = mw.ustring.gsub(frame:getParent().args[2] or '', '\226\128\142', '') -- invisible ‎ mark
	
	local agent, moment
	if arg2 == nil or arg2 == '' then
		agent = arg1
	else
		if mw.ustring.match(arg1, '[0-9]+ [a-z]+ 20[0-9]+') then
			agent = arg2
			moment = arg1
		else
			agent = arg1
			moment = arg2
		end
		moment = mw.text.trim(moment)		-- два пробела L-39 ломают «Инструменты обсуждения»
	end
	agent = mw.text.trim(agent) -- пробел в начале ломает ip: Special:Contributions/_ip
	
	if agent == nil or agent == '' then
		return '<span class="error">İmzasız: səhv parametrlər daxil edilib</span>'
	end
	
	local res = '<small class="autosigned"> —&nbsp;\'\'Bu imzasız yazı'
	
	if mw.ustring.match(agent, '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$')
			or mw.ustring.match(agent, '^[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+$') 
			or mw.ustring.match(agent, '^[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+$') then
		res = res .. ' [[Special:Contributions/' .. agent .. '|' .. agent .. ']] ({{fitts|User talk:' .. agent .. '|m}}) tərəfindən əlavə edilib;'
	else
		res = res .. ' [[User:' .. agent .. '|' .. agent .. ']] ({{fitts|User talk:'
			.. agent .. '|m}} • {{fitts|Special:Contributions/' .. agent .. '|t}}) adlı istifadəçi tərəfindən əlavə edilib;'
	end
	
	if moment ~= nil and moment ~= '' then
		if not mw.ustring.match(moment, '(UTC)') then
			moment = moment .. '&#32;(UTC)'  -- L-39
		end
		res = res .. ' ' .. moment
	end
	
	res = res .. '\'\'</small>'
	return frame:preprocess(res)
end

return p