Everything you need to know about Ranch Manager and Shop Manager — setup, commands, pricing, and FAQ.
After registering your bot, you'll need to create a few channels and a role in your Discord server, then paste their IDs into the Configure page. Here's exactly what to set up:
!queuepanel in that channel.| Command | What it does |
|---|---|
| !milk <amount> | Log milk you produced this period. Adds to your running total for the current payout cycle. e.g. !milk 50 |
| !eggs <amount> | Log eggs you collected this period. Adds to your running total. e.g. !eggs 30 |
| !mystats | View your personal breakdown — milk, eggs, cattle earnings, any debt, and your exact payout owed this period. |
| !stats | View the full leaderboard/stats table for all active ranch hands, including paid/unpaid status. |
| !stats @player | View a specific player's current stats and payout breakdown. e.g. !stats @JohnDoe |
| !queue | View who's currently in the queue, their position, and how long until it's their turn. |
| !joinqueue | Join the cattle queue directly via command. |
| !leavequeue | Leave the queue if you're in it. |
| !help | Show the full command list directly in Discord. |
These require the manager/owner role configured in your settings.
| Command | What it does |
|---|---|
| !register <key> | Link your license key to this Discord server. Run once right after purchasing. e.g. !register RANCH-XXXXXXXXX |
| !cattle @player <amount> | Manually record a cattle sale for a specific player. e.g. !cattle @JohnDoe 1500 |
| !removecattle @player <amount> | Remove a previously recorded cattle sale from a player's total. e.g. !removecattle @JohnDoe 500 |
| !payout @player | Process a payout for a specific player — shows their full earnings breakdown and resets their milk, eggs, and cattle totals to zero. |
| !payoutall | Mark all players as paid and reset all stats at once. Posts a summary in Discord. |
| !setmilk @player <amount> | Manually override a player's milk count. e.g. !setmilk @JaneDoe 80 |
| !seteggs @player <amount> | Manually override a player's egg count. e.g. !seteggs @JaneDoe 60 |
| !setsplit <player%> <ranch%> | Set the cattle earnings split. Both numbers must add up to 100. e.g. !setsplit 75 25 → player 75%, ranch 25% |
| !setprice milk <$> | Set the per-unit payout price for milk (or eggs). e.g. !setprice milk 0.50 / !setprice eggs 0.25 |
| !debtexempt @player | Toggle debt exemption for a player. Debt-exempt players never have ledger deductions applied. |
| !resetplayer @player | Reset a single player's stats back to zero without marking them as paid. |
| !payday | Manually trigger a payday announcement immediately. |
Queue management commands for managers.
| Command | What it does |
|---|---|
| !queuepanel | Post the live queue panel with Join / Leave / Start Turn buttons in the current channel. Run this once in your queue channel to set up the panel. |
| !clearqueue | Remove everyone from the queue and reset it to empty. Use at the end of a session. |
| !skipqueue | Skip the current player and advance to the next person in line. Use if someone's turn has been called but they aren't responding. |
!register on your server. For sub-user passwords, the ranch owner can reset them directly from the My Team page in the dashboard.A separate bot & license for tracking RDR2 in-game shops. Auto-parses your shop webhook embeds and keeps live inventory + the last-known ledger in your dashboard.
SHOP- license key, dashboard username, and password are revealed directly on the success page — no email is sent. Save them before closing the tab; the password is only viewable for 24 hours.The Shop Manager bot reads your in-game shop webhook embeds straight from a Discord channel. Here's how to wire it up:
!setname <shop_id> <new name> in Discord.| Command | What it does |
|---|---|
| !shopregister <key> | Link this Discord server to your Shop Manager license. Run once after purchase. e.g. !shopregister SHOP-XXXXXXXXX |
| !shop <id> | Show a single shop's ledger summary — current balance, item count, total units. e.g. !shop 1 |
| !inventory <id> | List every item in a shop's inventory along with quantities and last-known buy/sell prices. Alias: !inv.e.g. !inventory 1 |
| !shops | List every shop currently tracked for this server, with shop ID, name, and ledger. |
| !lastfor <id> <item> | Show the most recent transaction for a specific item — type, amount, total, unit price, and timestamp. e.g. !lastfor 1 whiskey |
| !resetpw <SHOP-key> | DM yourself a one-time code to reset your shop dashboard password (sent to the Discord account that originally registered the server). |
| !shophelp | Print the full Shop Manager command list directly in Discord. |
These adjust shop data manually. Restricted to the Discord user who registered the server (and any sub-users with edit permissions).
| Command | What it does |
|---|---|
| !setname <id> <name> | Override the auto-detected shop name with a friendlier label. e.g. !setname 1 Valentine General Store |
| !removeitem <id> <item> | Delete a stuck/orphaned item from a shop's inventory. e.g. !removeitem 1 brokenhat |
| !adjustledger <id> <amt> | Manually adjust a shop's ledger balance. Use +50 or -50 for a delta, or a plain number to set an absolute value. Alias: !ledger.e.g. !adjustledger 1 +250 / !adjustledger 1 0 |
| !deposititem <id> <qty> <price> <item> | Manually record a deposit when no in-game webhook fired. Alias: !di.e.g. !deposititem 1 12 1.50 whiskey |
RANCH- vs SHOP- prefixes) and separate dashboards. They can both live in the same Discord server side by side.SHOP- key, username, and password are revealed on the success page right after Stripe confirms payment. We do not email credentials. The password is only viewable for 24 hours; copy it somewhere safe.!resetpw SHOP-YOUR-KEY in Discord — the bot DMs a recovery code to the account that registered the server. Or use the Forgot Password page; it auto-detects the SHOP- prefix and routes to the shop recovery flow.