User interface for AzerothCore-Module "Playerbots" by Playerbots team https://github.com/mod-playerbots/mod-playerbots.
Tested with American, German, French and Spanish 3.3.5 Wotlk-Client.
Simply place the files in a folder called "MultiBot" in your World of Warcraft AddOns directory.
Example: "C:\WorldOfWarcraft\Interface\AddOns\MultiBot"
Start World of Warcraft and enter "/multibot" or "/mbot" or "/mb" in the chat, or use the minimap button.
This is a fork of the original MultiBot addon by Macx-Lio.
The reason for this fork is that I submitted several pull requests to the original repository, but since the creator, Macx-Lio, is currently unavailable, those changes could not be merged.
To allow the community to benefit from the additional features and improvements I have implemented, I’ve published this fork as a temporary solution.
All credit for the original addon goes to Macx-Lio. I do not claim ownership of this project — I’m simply maintaining a working version until development resumes on the main repository.
Thank you for understanding.
Screens:
Port Multibot to ACE 3
This addon is currently a classic Lua addon (manual frame/event architecture). The ACE3 migration will be done incrementally to avoid regressions.
- Creation of a dedicated branch (
ace3-migration). - Record current behavior (slash commands, minimap button, major windows, bot command actions).
- Add a short migration checklist file (
docs/ace3-migration-checklist.md) with "works before/after" items.
Exit criteria:
- Addon loads with no Lua errors before any ACE3 code is introduced.
- Add required libs (AceAddon-3.0, AceEvent-3.0, AceConsole-3.0, AceDB-3.0, optional AceGUI-3.0, LibDBIcon-1.0).
- Update
MultiBot.tocto load libs and keep existing files working. - Introduce a minimal addon object (e.g.
MultiBot = LibStub("AceAddon-3.0"):NewAddon(...)).
Exit criteria:
- Addon still behaves exactly the same.
- No duplicate initialization paths.
- Move startup logic from
Core/MultiBotInit.luaintoOnInitializeandOnEnable. - Keep old init helpers but call them from ACE3 lifecycle methods.
- Ensure events are registered once (avoid duplicate handlers).
Exit criteria:
- UI and commands initialize once per login/reload.
- Replace/manual-wrap slash command registration with
AceConsole-3.0(RegisterChatCommand). - Keep existing aliases (
/multibot,/mbot,/mb). - Route command handlers to existing logic functions (no duplicate business logic).
Exit criteria:
- Existing command behavior unchanged.
- Migrate event registration to
AceEvent-3.0(RegisterEvent). - Keep current event handlers and adapt signatures only where required.
- Validate frequently fired events for performance (no extra allocations in hot paths).
Exit criteria:
- No event spam regressions.
- No duplicated event callbacks.
- Map
Core/MultiBotConfig.luadata into an AceDB schema. - Provide defaults and one-way migration from legacy keys.
- Keep backward compatibility for existing users.
Exit criteria:
- Existing user settings survive migration.
- Fresh installs use AceDB defaults.
- Keep current UI first; only integrate config access patterns.
- Optionally add LibDBIcon integration for minimap behavior.
- Defer large UI rewrites (AceGUI) until core migration is stable.
Exit criteria:
- Minimap toggle and options remain functional.
- Refactor one screen at a time to AceGUI.
- Preserve existing data/control flow from
UI/*.lua. - Avoid big-bang rewrites.
Exit criteria:
- Each migrated screen is functionally equivalent before moving to the next.
- Run a full in-game test matrix (group controls, individual bot controls, inventory actions, filters, talent/spec windows, PVP UI).
- Clean dead code paths and keep one canonical helper per responsibility.
- Publish migration notes for users.
Exit criteria:
- Stable behavior on target 3.3.5 clients.
- No known blocker regressions.
- PR#1: libs + minimal addon bootstrap.
- PR#2: lifecycle + commands.
- PR#3: events + AceDB migration.
- PR#4: minimap/options integration.
- PR#5: optional UI refactors.





































