« Module:CommandTable » : différence entre les versions

De Eco - Wiki Français
Aller à :navigation, rechercher
[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 = ''


-- importer les modules requis
local commandsData = require("Module:CommandData")
local commandsData = require( "Module:CommandData" )
local commands = commandsData.commands
local commands = commandsData.commands


-- créer l'en-tête du tableau
-- Table header
local header = "<table class=\"wikitable sortable\"> \n "
local header = '<table class="wikitable sortable">\n'
header = header .. "<tr> \n "
header = header .. '<tr>\n'
header = header .. "<th>Niveau<br>d'accès</th> \n "
header = header .. '<th>Access<br>level</th>\n'
header = header .. "<th>Commande</th> \n "
header = header .. '<th>Command</th>\n'
header = header .. "<th>Appel<br>rapide</th> \n "
header = header .. '<th>Short<br>call</th>\n'
header = header .. "<th>Description<br>Arguments</th> \n "
header = header .. '<th>Description<br>Arguments</th>\n'
header = header .. "</tr> \n "
header = header .. '</tr>\n'
 
wiki = header
wiki = header


for k,v in pairs(commands) do
for _, v in pairs(commands) do
local row = ''
local row = ''
row = row .. "<tr> \n "


if (v.parent == nil) then v.parent = '' else v.parent = v.parent .. " " end
-- Sécurisation parent
if (v.parameters == nil) then v.parameters= '-'
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
if (v.parameters.Arg1 ~= nil) then ARG1 = "<br><b>" .. v.parameters.Arg1[1] .. "</b> (" .. v.parameters.Arg1[2] .. ")" else ARG1 = "" end
argsText = '-'
if (v.parameters.Arg2 ~= nil) then ARG2 = ", <b>" .. v.parameters.Arg2[1] .. "</b> (" .. v.parameters.Arg2[2] .. ")" else ARG2 = "" end
if (v.parameters.Arg3 ~= nil) then ARG3 = ", <b>" .. v.parameters.Arg3[1] .. "</b> (" .. v.parameters.Arg3[2] .. ")" else ARG3 = "" end
if (v.parameters.Arg4 ~= nil) then ARG4 = ", <b>" .. v.parameters.Arg4[1] .. "</b> (" .. v.parameters.Arg4[2] .. ")" else ARG4 = "" end
if (v.parameters.Arg5 ~= nil) then ARG5 = ", <b>" .. v.parameters.Arg5[1] .. "</b> (" .. v.parameters.Arg5[2] .. ")" else ARG5 = "" end
if (v.parameters.Arg6 ~= nil) then ARG6 = ", <b>" .. v.parameters.Arg6[1] .. "</b> (" .. v.parameters.Arg6[2] .. ")" else ARG6 = "" end
v.parameters= ARG1 .. ARG2 .. ARG3 .. ARG4 .. ARG5 .. ARG6
end
end


if (v.shortCut ~= '') then v.shortCut = "/".. v.shortCut end
-- Shortcut
local shortcut = v.shortCut or ''
if shortcut ~= '' then
shortcut = '/' .. shortcut
end


row = row .. "<td>" .. v.level.. " </td> \n"
-- Description
row = row .. "<td><b>/" .. v.parent .. v.command.. "</b></td> \n"
local help = ''
row = row .. "<td><b>" .. v.shortCut .. " </td> \n"
if v.helpText then
row = row .. "<td>" .. v.helpText .. v.parameters .. "</b></td> \n"
help = v.helpText[Lang] or v.helpText.English or ''
end


row = row .. "</tr>"
-- Ligne HTML
if ( v.level == 'Utilisateur' ) then wikiuser = wikiuser .. row end
row = row .. '<tr>\n'
if ( v.level == 'Administrateur' ) then wikiadmin = wikiadmin .. row end
row = row .. '<td>' .. (v.level or '') .. '</td>\n'
if ( v.level == 'DevTier' ) then wikidev = wikidev .. row end
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 .. " </table>"
wiki = wiki .. wikiuser .. wikiadmin .. wikidev .. '</table>'
return wiki
return wiki
end
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