« Module:CommandTable » : différence entre les versions
De Eco - Wiki Français
| [version vérifiée] | [version vérifiée] |
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
local Utils = require('Module:Utils') | |||
local Lang = Utils.getLanguageName() | |||
function p.main() | function p.main() | ||
| Ligne 7 : | Ligne 10 : | ||
local wikidev = '' | local wikidev = '' | ||
local commandsData = require("Module:CommandData") | |||
local commandsData = require( "Module:CommandData" ) | |||
local commands = commandsData.commands | local commands = commandsData.commands | ||
-- | -- Table header | ||
local header = | local header = '<table class="wikitable sortable">\n' | ||
header = header .. | header = header .. '<tr>\n' | ||
header = header .. | header = header .. '<th>Access<br>level</th>\n' | ||
header = header .. | header = header .. '<th>Command</th>\n' | ||
header = header .. | header = header .. '<th>Short<br>call</th>\n' | ||
header = header .. | header = header .. '<th>Description<br>Arguments</th>\n' | ||
header = header .. | header = header .. '</tr>\n' | ||
wiki = header | wiki = header | ||
for | for _, v in pairs(commands) do | ||
local row = '' | local row = '' | ||
-- Sécurisation parent | |||
local parent = v.parent or '' | |||
if parent ~= '' then parent = parent .. ' ' end | |||
-- Construction arguments | |||
local argsText = '' | |||
if v.parameters then | |||
local function fmt(arg) | |||
if not arg then return '' end | |||
return "<br><b>" .. arg[1] .. "</b> (" .. arg[2] .. ")" | |||
end | |||
argsText = | |||
fmt(v.parameters.Arg1) | |||
.. fmt(v.parameters.Arg2) | |||
.. fmt(v.parameters.Arg3) | |||
.. fmt(v.parameters.Arg4) | |||
.. fmt(v.parameters.Arg5) | |||
.. fmt(v.parameters.Arg6) | |||
else | else | ||
argsText = '-' | |||
end | end | ||
-- Shortcut | |||
local shortcut = v.shortCut or '' | |||
if shortcut ~= '' then | |||
shortcut = '/' .. shortcut | |||
end | |||
-- Description | |||
local help = '' | |||
if v.helpText then | |||
help = v.helpText[Lang] or v.helpText.English or '' | |||
end | |||
row = row .. | -- Ligne HTML | ||
row = row .. '<tr>\n' | |||
row = row .. '<td>' .. (v.level or '') .. '</td>\n' | |||
row = row .. '<td><b>/' .. parent .. (v.command or '') .. '</b></td>\n' | |||
row = row .. '<td><b>' .. shortcut .. '</b></td>\n' | |||
row = row .. '<td>' .. help .. argsText .. '</td>\n' | |||
row = row .. '</tr>\n' | |||
-- Tri par niveau d’accès | |||
if v.level == 'User' then | |||
wikiuser = wikiuser .. row | |||
elseif v.level == 'Admin' then | |||
wikiadmin = wikiadmin .. row | |||
elseif v.level == 'DevTier' then | |||
wikidev = wikidev .. row | |||
end | |||
end | end | ||
wiki = wiki .. wikiuser .. wikiadmin .. wikidev | |||
wiki = wiki .. wikiuser .. wikiadmin .. wikidev .. '</table>' | |||
return wiki | return wiki | ||
end | |||
return p | return p | ||
Version du 19 novembre 2025 à 00:54
Documentation
Ce module fournit la fonctionnalité de backend du Modèle:ChatCommands.
Si le modèle est utilisé, ce module crée une liste en utilisant les détails des modules suivants :
Crédit
La liste originale des commandes de chat a été créée par Utilisateur:StalEF.
local p = {}
local Utils = require('Module:Utils')
local Lang = Utils.getLanguageName()
function p.main()
local wiki = ''
local wikiuser = ''
local wikiadmin = ''
local wikidev = ''
local commandsData = require("Module:CommandData")
local commands = commandsData.commands
-- Table header
local header = '<table class="wikitable sortable">\n'
header = header .. '<tr>\n'
header = header .. '<th>Access<br>level</th>\n'
header = header .. '<th>Command</th>\n'
header = header .. '<th>Short<br>call</th>\n'
header = header .. '<th>Description<br>Arguments</th>\n'
header = header .. '</tr>\n'
wiki = header
for _, v in pairs(commands) do
local row = ''
-- Sécurisation parent
local parent = v.parent or ''
if parent ~= '' then parent = parent .. ' ' end
-- Construction arguments
local argsText = ''
if v.parameters then
local function fmt(arg)
if not arg then return '' end
return "<br><b>" .. arg[1] .. "</b> (" .. arg[2] .. ")"
end
argsText =
fmt(v.parameters.Arg1)
.. fmt(v.parameters.Arg2)
.. fmt(v.parameters.Arg3)
.. fmt(v.parameters.Arg4)
.. fmt(v.parameters.Arg5)
.. fmt(v.parameters.Arg6)
else
argsText = '-'
end
-- Shortcut
local shortcut = v.shortCut or ''
if shortcut ~= '' then
shortcut = '/' .. shortcut
end
-- Description
local help = ''
if v.helpText then
help = v.helpText[Lang] or v.helpText.English or ''
end
-- Ligne HTML
row = row .. '<tr>\n'
row = row .. '<td>' .. (v.level or '') .. '</td>\n'
row = row .. '<td><b>/' .. parent .. (v.command or '') .. '</b></td>\n'
row = row .. '<td><b>' .. shortcut .. '</b></td>\n'
row = row .. '<td>' .. help .. argsText .. '</td>\n'
row = row .. '</tr>\n'
-- Tri par niveau d’accès
if v.level == 'User' then
wikiuser = wikiuser .. row
elseif v.level == 'Admin' then
wikiadmin = wikiadmin .. row
elseif v.level == 'DevTier' then
wikidev = wikidev .. row
end
end
wiki = wiki .. wikiuser .. wikiadmin .. wikidev .. '</table>'
return wiki
end
return p