From 716b44d7c26f2313df95110f93b114b35c4cd2ce Mon Sep 17 00:00:00 2001 From: Wishmaster117 <140754794+Wishmaster117@users.noreply.github.com> Date: Mon, 20 Oct 2025 18:43:40 +0100 Subject: [PATCH] Modify invite button in every bar This modification add the possibility to login and invite the bot after he logout, will be merged in master after the merge of this PR : https://github.com/mod-playerbots/mod-playerbots/pull/1722 --- Core/MultiBotEngine.lua | 19 +++++++++++++++++++ Core/MultiBotEvery.lua | 13 +++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Core/MultiBotEngine.lua b/Core/MultiBotEngine.lua index d534acd..6527559 100644 --- a/Core/MultiBotEngine.lua +++ b/Core/MultiBotEngine.lua @@ -1320,4 +1320,23 @@ end MultiBot.getBot = function(pName) return MultiBot.frames["MultiBar"].frames["Units"].buttons[pName] +end + +-- Envoie une commande telle quelle (y compris les commandes qui commencent par '.') +function MultiBot.sendCommand(text) + -- Bouton cliqué => évènement utilisateur : autorisé par le client 3.3.5 + if ChatFrame1EditBox then + ChatFrame1EditBox:SetText(text) + ChatEdit_SendText(ChatFrame1EditBox) + else + -- Fallback très conservateur + SendChatMessage(text, "SAY") + end +end + +-- (Re)connecte un bot par son nom via le module playerbots +function MultiBot.loginBotByName(name) + -- Utilise la commande existante côté serveur : + -- .playerbots bot add => connecte le bot et l’invite au groupe + MultiBot.sendCommand(".playerbots bot add " .. tostring(name)) end \ No newline at end of file diff --git a/Core/MultiBotEvery.lua b/Core/MultiBotEvery.lua index 64f3c52..f085891 100644 --- a/Core/MultiBotEvery.lua +++ b/Core/MultiBotEvery.lua @@ -94,12 +94,21 @@ MultiBot.addEvery = function(pFrame, pCombat, pNormal) pButton.doHide() end - pFrame.addButton("Invite", 124, 0, "inv_misc_groupneedmore", MultiBot.tips.every.invite).doHide() + --[[pFrame.addButton("Invite", 124, 0, "inv_misc_groupneedmore", MultiBot.tips.every.invite).doHide() .doLeft = function(pButton) MultiBot.doSlash("/invite", pButton.getName()) pButton.getButton("Uninvite").doShow() pButton.doHide() - end + end]]-- + + pFrame.addButton("Invite", 124, 0, "inv_misc_groupneedmore", MultiBot.tips.every.invite).doHide() + .doLeft = function(pButton) + -- (Re)log le bot par son nom, le module l’ajoute ensuite au groupe automatiquement + MultiBot.loginBotByName(pButton.getName()) + -- Optionnel : garde l’UX actuelle (affiche le bouton Uninvite tout de suite) + pButton.getButton("Uninvite").doShow() + pButton.doHide() + end pFrame.addButton("Food", 154, 0, "inv_drink_24_sealwhey", MultiBot.tips.every.food).setDisable() .doLeft = function(pButton)