From 762f53f180e0fde7eee34f3760462e34cc1d882a Mon Sep 17 00:00:00 2001 From: zeb <37308742+zeb139@users.noreply.github.com> Date: Sat, 4 Oct 2025 15:21:44 -0400 Subject: [PATCH] added chat commands documentation --- README.md | 13 ++++++++++++- conf/mod_ahbot.conf.dist | 9 +++++++++ src/AuctionHouseBotScript.cpp | 12 +++++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e0c981..bb77226 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,18 @@ Notes: - Important! By default, most player crafted items (except glyphs, bolts, maybe a few other things) are disabled from showing up in the auction house in order to encourage player crafting on lower pop servers. If you want different behavior, alter the config variable "AuctionHouseBot.DisabledCraftedItemIDs" by deleting IDs you wish to show up. Note that fish are also disabled to encourage fishing, and that's also managed by disabled lists. - It takes a few hours for the auction house to fully populate, as only 75 items gets added by default every 'tick'. You can change this in the config with the AuctionHouseBot.ItemsPerCycle variable. - All price multpliers (along with the advanced pricing, see config) are applied multiplicative. Example: A Category of 1.5x, Quality of 2x, and CategoryQuality of 1.4x would make the multiplier 4.2 (1.5 x 2 x 1.4). The advanced pricing would then multiply that value further. Using item level price multpliers, which create a multiplier of itemlevel x value, is also multiplicitive along with the others. You cannot use item level price multipliers and advanced pricing, as advanced pricing will take priority between the two. -- Bot-listed prices will not exceed 100k gold buyout +- Bot-listed prices will not exceed 100k gold buyout + +### In-Game Commands + +The AuctionHouseBot module adds the following in-game commands (for GMs only): + +| Command | Description | +|----------|--------------| +| `.ahbot reload` | Reloads the AuctionHouseBot configuration file and updates settings. | +| `.ahbot empty` | Removes all auctions from all auction houses. Use with caution! | +| `.ahbot update` | Forces the bot to refresh or repopulate auction listings immediately.
Note: If you have multiple minutes configured between Buy/Sell cycles, you may have to run this additional times before you see results. | + ## Buying Bot Behavior diff --git a/conf/mod_ahbot.conf.dist b/conf/mod_ahbot.conf.dist index 591f820..3376b4c 100644 --- a/conf/mod_ahbot.conf.dist +++ b/conf/mod_ahbot.conf.dist @@ -1,5 +1,14 @@ [worldserver] +################################################################################################### +# AUCTION HOUSE BOT IN-GAME COMMANDS +# +# Available GM commands: +# .ahbot reload - Reloads AuctionHouseBot configuration +# .ahbot empty - Clears all auctions from all auction houses +# .ahbot update - Forces an immediate update cycle +################################################################################################### + ############################################################################### # AUCTION HOUSE BOT SETTINGS # AuctionHouseBot.DEBUG diff --git a/src/AuctionHouseBotScript.cpp b/src/AuctionHouseBotScript.cpp index 52ba983..139fae5 100644 --- a/src/AuctionHouseBotScript.cpp +++ b/src/AuctionHouseBotScript.cpp @@ -129,7 +129,8 @@ public: static Acore::ChatCommands::ChatCommandTable AHBotCommandTable = { {"update", HandleAHBotUpdateCommand, SEC_GAMEMASTER, Acore::ChatCommands::Console::Yes}, {"reload", HandleAHBotReloadCommand, SEC_GAMEMASTER, Acore::ChatCommands::Console::Yes}, - {"empty", HandleAHBotEmptyCommand, SEC_GAMEMASTER, Acore::ChatCommands::Console::Yes} + {"empty", HandleAHBotEmptyCommand, SEC_GAMEMASTER, Acore::ChatCommands::Console::Yes}, + {"help", HandleAHBotHelpCommand, SEC_GAMEMASTER, Acore::ChatCommands::Console::Yes} }; static Acore::ChatCommands::ChatCommandTable commandTable = { @@ -166,6 +167,15 @@ public: AuctionHouseBot::instance()->EmptyAuctionHouses(); return true; } + + static bool HandleAHBotHelpCommand(ChatHandler* handler, char const* /*args*/) + { + handler->PSendSysMessage("AuctionHouseBot commands:"); + handler->PSendSysMessage(" .ahbot reload - Reloads configuration"); + handler->PSendSysMessage(" .ahbot empty - Removes all auctions"); + handler->PSendSysMessage(" .ahbot update - Runs an update cycle"); + return true; + } }; void AddAHBotScripts()