本站页面(多半)转载自萌娘百科的同名页面,依CC BY-NC-SA 3.0引入,贡献者可以在历史页查询。
因各种原因页面内容可能和源页面有所出入,非本站特有页面内容请以萌娘百科为准。
因各种原因页面内容可能和源页面有所出入,非本站特有页面内容请以萌娘百科为准。
- 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
- 本镜像站和其他萌娘百科的镜像站无关,请注意分别。
Module:Sandbox/一位史蒂夫
跳到导航
跳到搜索
local luaq = require("Module:Luaq") -- 加载查询模块。 local module = {} local data = mw.text.jsonDecode(mw.title.new("Module:UserGroup/data"):getContent()) function table.indexof(t, item) for i, v in ipairs(t) do if v == item then return i end end return 0 end local UserGroupInfo = function(group, frame) local parent = frame:getParent() if parent and parent:getTitle() == "Template:UserGroup" then frame = parent end if frame.args["Count"] then return #group else local list = {} for key, val in ipairs(group) do if mw.text.trim(val) ~= "" then local user = config[val] if (user) then table.insert(list, frame:preprocess(user.prefix or "").. frame:expandTemplate{ title = "User", args = { val } }.. frame:preprocess(user.postfix or "") ) else table.insert(list, frame:expandTemplate{ title = "User", args = { val } }) end end end return table.concat(list, " • ") end end --[==[ 动态生成用以展示某一用户组成员列表的模块导出函数, 生成操作支持的用户组同[[Module:UserGroup/data]]中明确列举出的用户组,没有列举出的将不会支持。 在调用模块时,仍然可以使用{{#invoke|UserGroup|【用户组的代号】}},旧代码可不做修改。 ]==] for gname, g in pairs(data) do module[gname] = function(frame) return UserGroupInfo(g, frame) end end --[[ 由于行政员默认拥有管理员用户组,因此在显示时需要去重。 ]] function module.vote_count(frame) local filter = mw.text.trim(frame.args[1] or "") local groups = getGroups(filter) -- 获取要求和的用户组列表 if groups == nil or #groups == 0 then return 0 end return adjust + luaq.iasQuery(groups) :select(check_vote) :sum(function(x, y) return { x[1] + y[1] } end) -- 求和 end return module