@@ -1505,21 +1505,7 @@ MultiBot:SetScript("OnEvent", function()
15051505 end
15061506end )
15071507
1508- SLASH_MULTIBOT1 = " /multibot"
1509- SLASH_MULTIBOT2 = " /mbot"
1510- SLASH_MULTIBOT3 = " /mb"
1511-
1512- --[[ SlashCmdList["MULTIBOT"] = function()
1513- if(MultiBot.state) then
1514- for key, value in pairs(MultiBot.frames) do value:Hide() end
1515- MultiBot.state = false
1516- else
1517- for key, value in pairs(MultiBot.frames) do value:Show() end
1518- MultiBot.state = true
1519- end
1520- end]] --
1521-
1522- SlashCmdList [" MULTIBOT" ] = function ()
1508+ local function ToggleMultiBotUI ()
15231509 -- don't touch to Shaman/Hunter bars
15241510 local function affect (frmKey , frm )
15251511 return frmKey ~= " ShamanQuick" and frmKey ~= " HunterQuick"
@@ -1538,97 +1524,24 @@ SlashCmdList["MULTIBOT"] = function()
15381524 -- Persist by character
15391525 MultiBotSave [" UIVisible" ] = MultiBot .state and true or false
15401526end
1527+ MultiBot .RegisterCommandAliases (" MULTIBOT" , ToggleMultiBotUI , { " multibot" , " mbot" , " mb" })
15411528
1542- SLASH_MULTIBOTOPTIONS1 = " /mbopt"
1543- SlashCmdList [" MULTIBOTOPTIONS" ] = function ()
1529+ local function OpenMultiBotOptions ()
15441530 if InterfaceOptionsFrame_OpenToCategory then
15451531 InterfaceOptionsFrame_OpenToCategory (" MultiBot" )
15461532 InterfaceOptionsFrame_OpenToCategory (" MultiBot" ) -- double appel: comportement connu 3.3.5
15471533 end
15481534end
1535+ MultiBot .RegisterCommandAliases (" MULTIBOTOPTIONS" , OpenMultiBotOptions , { " mbopt" })
15491536
1550- --[[ -- ==== TESTS MULTIBOT ====
1551-
1552- -- /mbdump -> affiche les intervalles et le throttle actuels
1553- SLASH_MBDUMP1 = "/mbdump"
1554- SlashCmdList["MBDUMP"] = function()
1555- local t = MultiBotDB and MultiBotDB.timers or {}
1556- local rate = MultiBot.GetThrottleRate and MultiBot.GetThrottleRate() or 5
1557- local burst = MultiBot.GetThrottleBurst and MultiBot.GetThrottleBurst() or 8
1558- DEFAULT_CHAT_FRAME:AddMessage(string.format(
1559- "[MultiBot] Timers: stats=%.2fs, talent=%.2fs, invite=%.2fs, sort=%.2fs | Throttle: rate=%d/s, burst=%d",
1560- t.stats or -1, t.talent or -1, t.invite or -1, t.sort or -1, rate, burst
1561- ))
1562- end
1563-
1564- -- /mbset <stats> <talent> <invite> <sort> -> règle les 4 sliders par script
1565- -- ex: /mbset 10 2 3 0.5
1566- SLASH_MBSET1 = "/mbset"
1567- SlashCmdList["MBSET"] = function(msg)
1568- local a,b,c,d = string.match(msg or "", "([%d%.]+)%s+([%d%.]+)%s+([%d%.]+)%s+([%d%.]+)")
1569- if a then
1570- MultiBot.SetTimer("stats", tonumber(a))
1571- MultiBot.SetTimer("talent", tonumber(b))
1572- MultiBot.SetTimer("invite", tonumber(c))
1573- MultiBot.SetTimer("sort", tonumber(d))
1574- DEFAULT_CHAT_FRAME:AddMessage("[MultiBot] MBSET ok."); SlashCmdList["MBDUMP"]()
1575- else
1576- DEFAULT_CHAT_FRAME:AddMessage("|cffff5555Usage: /mbset <stats> <talent> <invite> <sort>|r")
1577- end
1578- end
1579-
1580- -- /mbspam <n> -> enfile n messages SAY pour tester le throttle (par défaut 20)
1581- -- ex: /mbspam 30
1582- SLASH_MBSPAM1 = "/mbspam"
1583- SlashCmdList["MBSPAM"] = function(msg)
1584- local n = tonumber(msg) or 20
1585- if n > 200 then n = 200 end
1586- for i=1,n do
1587- -- Préfixe reconnaissable pour le log throttle facultatif
1588- SendChatMessage(string.format("[MB_TEST] #%d", i), "SAY")
1589- end
1590- DEFAULT_CHAT_FRAME:AddMessage(string.format("[MultiBot] Spam enfile %d messages (throttle actif).", n))
1591- end
1592-
1593- -- /mbautostats on|off -> active/désactive le ping stats auto (pratique pour mesurer l’intervalle)
1594- SLASH_MBAUTOSTATS1 = "/mbautostats"
1595- SlashCmdList["MBAUTOSTATS"] = function(msg)
1596- local on = string.lower(tostring(msg or "")) == "on"
1597- MultiBot.auto = MultiBot.auto or {}
1598- MultiBot.auto.stats = on
1599- DEFAULT_CHAT_FRAME:AddMessage("[MultiBot] Auto stats: "..(on and "ON" or "OFF"))
1600- end
1601-
1602- -- /mbreset -> remet les valeurs d'origine (timers + throttle)
1603- SLASH_MBRESET1 = "/mbreset"
1604- SlashCmdList["MBRESET"] = function()
1605- MultiBot.SetTimer("stats", 45)
1606- MultiBot.SetTimer("talent", 3)
1607- MultiBot.SetTimer("invite", 5)
1608- MultiBot.SetTimer("sort", 1)
1609- if MultiBot.SetThrottleRate then MultiBot.SetThrottleRate(5) end
1610- if MultiBot.SetThrottleBurst then MultiBot.SetThrottleBurst(8) end
1611- DEFAULT_CHAT_FRAME:AddMessage("[MultiBot] Reset valeurs par défaut."); SlashCmdList["MBDUMP"]()
1612- end
1613-
1614- SLASH_MBCHECK1 = "/mbcheck"
1615- SlashCmdList["MBCHECK"] = function()
1616- local wrapped = (SendChatMessage ~= MultiBot._throttleOrig)
1617- DEFAULT_CHAT_FRAME:AddMessage(string.format("[MultiBot] Throttle actif: %s | SendChatMessage=%s",
1618- wrapped and "OUI" or "NON",
1619- tostring(SendChatMessage)
1620- ))
1621- end]] --
1622-
1623- SLASH_MBFAKEGM1 = " /mbfakegm"
1624- SlashCmdList [" MBFAKEGM" ] = function (msg )
1537+ local function FakeGMCommand (msg )
16251538 local n = tonumber (msg or " " ) or 0
16261539 MultiBot .GM_DetectFromSystem ((" Account level: %d" ):format (n ))
16271540 DEFAULT_CHAT_FRAME :AddMessage ((" GM now: %s (lvl=%d, threshold=%d)" ):format (tostring (MultiBot .GM ), n , MultiBot .GM_THRESHOLD ))
16281541end
1542+ MultiBot .RegisterCommandAliases (" MBFAKEGM" , FakeGMCommand , { " mbfakegm" })
16291543
1630- SLASH_MBCLASS1 = " /mbclass"
1631- SlashCmdList [" MBCLASS" ] = function (msg )
1544+ local function ClassCommand (msg )
16321545 local canon = MultiBot .NormalizeClass (msg )
16331546 if canon then
16341547 DEFAULT_CHAT_FRAME :AddMessage ((" Input='%s' -> Canon='%s' | Display='%s'" ):format (
@@ -1637,10 +1550,10 @@ SlashCmdList["MBCLASS"] = function(msg)
16371550 DEFAULT_CHAT_FRAME :AddMessage ((" Input='%s' -> (no match)" ):format (tostring (msg )))
16381551 end
16391552end
1553+ MultiBot .RegisterCommandAliases (" MBCLASS" , ClassCommand , { " mbclass" })
16401554
16411555-- /mbclasstest -> batterie de cas utiles (aliases + localisés FR si le client est frFR)
1642- SLASH_MBCLASSTEST1 = " /mbclasstest"
1643- SlashCmdList [" MBCLASSTEST" ] = function ()
1556+ local function ClassTestCommand ()
16441557 local samples = {
16451558 " dk" ," death knight" ," DeathKnight" ,
16461559 " lock" ," warlock" ,
@@ -1651,4 +1564,5 @@ SlashCmdList["MBCLASSTEST"] = function()
16511564 for _ , s in ipairs (samples ) do
16521565 DEFAULT_CHAT_FRAME :AddMessage ((" [MB] '%s' -> %s" ):format (s , tostring (MultiBot .toClass (s ))))
16531566 end
1654- end
1567+ end
1568+ MultiBot .RegisterCommandAliases (" MBCLASSTEST" , ClassTestCommand , { " mbclasstest" })
0 commit comments