2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:Sandbox/Ultim 0/Userbox

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [查看] [编辑] [历史] [刷新]

本模块现有函数如下:

函数名称 函数用法及输出示例 说明
p.randomuserboxcall {{#invoke:Sandbox/Ultim 0/Userbox|randomuserboxcall|5}}
监视狂魔 此用户徘徊在监视列表无法自拔,随时准备查看监视条目的最新编辑
Python 1 这个用户能够对着文档使用Python
SAO 这个用户经常光顾艾恩葛朗特
内链狂魔内链狂魔 这位用户热衷于消除孤立页面封闭花园,并完善萌百内部的链接网络。
三体 傻孩子们,快——跑——啊——
从给定的列表中不重复地选取几个用户框展示。
p.userboxlist {{#invoke:Sandbox/Ultim 0/Userbox|userboxlist}}

篇幅限制,恕不展示,详见此处

列出所有的用户框,每行3个。
local p={}

list_userbox={
    '{{用户 重定向狂魔}}',
    '{{用户 定义阵营图||\'\'\'该用户对于[[MGP:收录范围|收录范围]]{{Ruby|并无|不愿持有}}过多意见\'\'\'<br>[[三国杀:贾诩|\'\'我自冷眼看世界,不问天下是与非\'\']]}}',
    '{{用户 借鉴}}',
    '{{用户 内链狂魔}}',
    '{{用户 水编辑}}',
    '{{用户 SorryIE}}',
    '{{用户 消歧义狂魔}}',
    '{{用户 小编辑}}',
    '{{user 最近更改}}',
    '{{用户 抛砖引玉}}',
    '{{用户 监视狂魔}}',
    '{{user Android}}',
    '{{用户 HotCat}}',
    '{{用户 IPE}}',
    '{{用户 Wikiplus}}',
    '{{user Windows|10}}',
    '{{用户 编辑次数|num={{#cscore:Ultim 0|changes}}|data=目前|style=6}}',
    '{{用户 方针的熟悉程度|1}}',
    '{{用户 萌百九宫格|守序中立|\'\'\'这个用户的阵营是守序中立\'\'\'<br>别老想着把不要命的东西放到萌百啊!}}',
    '{{用户 萌百中毒}}',
    '{{user Moegirl For|year=2020|month=8|day=25}}',
    '{{用户 WAF|好吃到吐!}}',
    '{{用户 新手|内容={{胡话|虽然已经在萌百做出了大量的编辑}}}}',
    '{{用户 战五渣}}',
    '{{用户 Putonghua}}',
    '{{用户 dbiu|1}}',
    '{{user en|3}}',
    '{{user ja|1}}',
    '{{user ko|1}}',
    '{{user lzh|3}}',
    '{{user C语言|2}}',
    '{{user cpp|2}}',
    '{{user python|1}}',
    '{{user Lua|1}}',
    '{{user Wiki-4}}',
    '{{user ml|5}}',
    '{{Userbox|id=<span/>***|info=该用户不愿透露自己的年龄。|info-size=10|info-c=skyblue|border-s=1|border-c=blue}}',
    '{{用户 Minecraft|99}}',
    '{{用户 Minecraft/技术玩家}}',
    '{{用户 Minecraft国际版|ultim_0}}',
    '{{用户 三国杀}}',
    '{{user SAO}}',
    '{{用户 三体|傻孩子们,快——跑——啊——}}',
    '{{用户 Chrome}}',
    '{{user LaTeX|初步}}',
    '{{user Unicode|你知道吗?Unicode目前收录了超过十万个汉字}}',
    '{{用户 A站用户|-{烏啼_ultim_乌啼}-|33015959}}',
    '{{用户 B站用户|-{烏啼_ultim_乌啼}-|444229847/dynamic}}',
    '{{用户 FANDOM用户|ultim_0|zh.minecraft}}',
    '{{用户 QQ}}',
    '{{用户 知乎用户|ultim 0|ultim-0}}',
    '{{用户 像素画}}',
    '{{用户 阿卡林}}',
    '{{用户 社恐||但这与网上冲浪无关}}',
    '{{用户 水群|freq=偶尔会}}',
    '{{用户 2与3次元}}',
    '{{用户 秉笔直书}}',
    '{{用户 错字受}}',
    '{{user 繁简混用|但只在需要避免歧义的时候使用}}',
    '{{用户 广泛收集}}',
    '{{用户 莫谈国事}}',
    '{{用户 宁缺毋滥}}',
    '{{用户 NO AI|诸如ChatGPT之类的}}',
    '{{用户 强迫症}}',
    '{{用户 太长不看}}',
    '{{用户 玩梗适度}}',
    '{{用户 勿用词条}}',
    '{{用户 玄学|game=[[三国杀]]|way=用双[[三国杀:无懈可击|无懈]]|do=应对[[三国杀:兵粮寸断|兵]][[三国杀:乐不思蜀|乐]][[三国杀:闪电|闪电]]|1={{胡话|结果:兵乐天过,闪电炸我}}}}',
    '{{用户 用户框}}',
    '{{用户 原创}}',
    '{{用户 笨蛋}}'
}
default_userbox='{{用户 等等}}'

function p.randomuserbox(n)
	local rand
	math.randomseed(os.time())

	if tonumber(n)==0 then
		rand=math.random(1,table.getn(list_userbox))
	else
		rand=tonumber(n)
	end
	local text=list_userbox[rand]
	if(type(text)=="nil")then
		text=default_userbox
	end
	return text
end

function p.randomuserboxcall(frame) --返回若干个用户框(伪随机)
    if tonumber(frame.args[1])>table.getn(list_userbox) then
        return '<span class=error>错误:给定的数字' .. frame.args[1]  .. '大于数组的长度' .. table.getn(list_userbox) .. '!</span>'
    end
    math.randomseed(os.time())
    sj=math.random
    local tb={}
    local i=1
    while(i<=frame.args[1]+1) do
        local flag=0
        local n=sj(1,table.getn(list_userbox))
        for j=1,table.getn(tb) do
            if n==tb[j] then
                flag=1
                i=i-1
                break
            end
        end
        if flag==0 then
            tb[i]=n
        end
        i=i+1
    end
    table.remove(tb,1)
    local text=''
    --[[调试专用代码段始
    for i=1,frame.args[1] do
        if type(tb[i])=='nil' then
            text=text .. 'nil' .. ', '
        else
            text=text .. tb[i] .. ', '
        end
    end
    ]]--调试专用代码段终
    text=text .. '{|align=center\n'
    for i=1,frame.args[1] do
        text=text .. '|' .. p.randomuserbox(tb[i]) .. '\n|-\n'
    end
    text=text .. '|}\n'
    return frame:preprocess(text)
end

function p.userboxlist(frame) --所有用户框一览
    local text='{|align=center\n'
    local i
    for i=1,table.getn(list_userbox),1 do
        text=text .. '|' .. list_userbox[i] .. '\n'
        if i%3==0 then
            text=text .. '|-\n'
        end
    end
    text=text .. '|-\n|\n|' .. default_userbox .. '\n|\n|}'
    return frame:preprocess(text)
end

return p