Modül:Seslen
Modül belgelemesi[oluştur]
local p = {}
local siniflar = {}
siniflar.a = {
"Vito Genovese", "HastaLaVi2", "Sezgin İbiş", "ToprakM", "Evrifaessa", "Vikipolimer",
diger = {"ay", "arayüz yöneticisi", "arayüz yöneticileri"}
}
siniflar.b = {
"Mskyrider", "Elmacenderesi", "Yabancı", "Vito Genovese", "Superyetkin", "Vikiçizer",
diger = {"bürokrat", "bürokratlar"}
}
siniflar.d = {
"Elmacenderesi", "Uncitoyen",
diger = {"denetçi", "denetçiler"}
}
siniflar.g = {
"Elmacenderesi", "Eldarion", "Taysin",
diger = {"gözetmen", "gözetmenler"}
}
siniflar.h = {
"Citrat", "Vito Genovese", "Mskyrider", "Eldarion", "Elmacenderesi", "Khutuck", "Yabancı", "Gökhan", "Vikiçizer", "Superyetkin", "Uncitoyen", "HakanIST", "ToprakM", "Vincent Vega", "Vikipolimer", "Seksen iki yüz kırk beş", "Anerka", "Dr. Coal",
diger = {"hizmetli", "hizmetliler"}
}
siniflar.p = {
--[BOT]
"İmmortalance", "LostMyMind", "Kızıldeniz", "Lionel Cristiano", "Zafer", "MRTFR55", "Wooze", "CanSimsek060", "YG01", "Kadı", "Fatih Demirci", "Tarih", "Zemxer", "MajMinor", "Kurmanbek", "Eemirrgs", "Bluetime93", "Bedmento", "AliIsingor", "Kızıltoprak", "Stultiwikia", "Supermæn", "Alikam1896", "Yzkoc", "Delbatros", "Karakalem", "Ceren Ada", "Tehonk", "Yakamoz51", "𐰇𐱅𐰚𐰤", "Nosferatü", "Turgut46", "Arceonix", "Cartsterta", "Mehmet Ali Acar", "Nevmit", "Gizemli", "Therou", "Adulors", "Amigo35", "Ataozzy", "Basak", "Bjelica", "CRea80", "Sabri76",
--[/BOT]
diger = {"devriye", "devriyeler"}
}
siniflar.t = {
"Alperen", "Mavrikant", "Kumul", "Galaksidekiotostopcu", "HastaLaVi2", "Sadrettin", "Sezgin İbiş", "Goktr001", "Evrifaessa",
diger = {"teknisyen", "teknisyenler"}
}
for _,sinif in pairs(siniflar) do
if sinif.diger then
for _,d in ipairs(sinif.diger) do
siniflar[d] = sinif
end
end
end
local function makeError(msg)
msg ='[[Şablon:Seslen]] hatası: ' .. msg
return mw.text.tag('strong', {['sınıf']='error'}, msg)
end
function p.seslen(frame)
local origArgs = frame:getParent().args
local args = {}
local maxArg = 1
local usernames = 0
if origArgs.grup then
if siniflar[origArgs.grup] then
for k,g in ipairs(siniflar[origArgs.grup]) do
if k > maxArg then maxArg = k end
table.insert(args, g)
usernames = usernames + 1
end
end
end
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('Desteklenmeyen karakter girişi yapıldı.') end
args[k] = title.rootText
end
elseif v == '' and k:sub(0,5) == 'etiket' then
args[k] = '​'
else
args[k] = v
end
end
if usernames > (tonumber(frame.args.enfazla) or 50) then
return makeError(string.format(
'%s kişiden fazlası girilemez.',
tostring(frame.args.enfazla or 50)
))
else
if usernames < 1 then
if frame.args['örnek'] then args[1] = frame.args['örnek'] else return makeError('Kullanıcı adı belirtilmedi.') end
end
args['etiket1'] = args['etiket1'] or args['etiket']
local isfirst = true
local outStr = args['önek'] 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 '') .. ' ' end
end
outStr = string.format(
'%s[[Kullanıcı:%s|%s]]',
outStr,
args[i],
args['etiket'..tostring(i)] or args[i]
)
end
end
outStr = outStr..(args['p'] or '')
return mw.text.tag('span', {['sınıf']='template-ping'}, outStr)
end
end
return p