Banking
AA Only PremiumDiscord slash commands for faction vault balance checks and withdrawal requests, with banker card buttons and auto-verification against the faction vault log.
Prerequisites
- Bot connected (Guild ID set, bot invited) — see Bot Setup
- AA key configured in the Discord card (Limited+ Torn API access)
- A designated banker role in your Discord server
- A private banking channel (visible only to bankers)
- Optionally: a separate private log channel for audit entries
Slash Commands
/balance
Shows the requesting member's current vault balance. AA members can pass @member to check another member's balance.
/withdraw <amount>
Posts a withdrawal request card to the private banking channel. The requester's Discord mention is not posted publicly — the card shows only their Torn username and Torn ID. Other members in public channels cannot see who made the request.
/cancel
Cancels your own pending withdrawal request.
The Banker Card
When a /withdraw request is submitted, a card is posted to the banking channel with four buttons:
| Button | Access | Action |
|---|---|---|
| Faction Vault | Anyone | Opens the Torn faction vault |
| Fulfill Request | Anyone | Opens Torn's give-money flow pre-filled with the amount and member |
| Mark Fulfilled | Banker role | Records the request as fulfilled after a manual give |
| Cancel | Banker role | Cancels the request from the banker's side |
Auto-Verification
The bot reads the faction vault log every minute. When it finds a "was given $X by <banker>" entry that matches a pending withdrawal request, it marks the request fulfilled automatically and DMs the requester.
The vault log entry must be a "give money" action (not "add to balance") to match. The Fulfill Request button in the banker card pre-fills the correct action.
Request Expiry
Each withdrawal request has a time-to-live after which it is automatically cancelled. The TTL is configurable per faction: 5, 10, 20, 30, 40, 50, or 60 minutes (default 60). Expired requests trigger a DM to the requester.
Log Channel
Configure an optional log channel (separate from the banking channel) to receive one-line audit entries for every request event:
- Requested — member name and amount
- Fulfilled — member name, amount, and which banker processed it
- Cancelled — by requester or by a banker
- Expired — auto-expired requests
Point this at a private banker or admin channel. The log carries member identity information.
Configuration Fields
| Field | Description |
|---|---|
| Enable | Toggle banking on/off |
| Banking Channel | The private channel where banker cards are posted |
| Log Channel | Optional audit log channel |
| Banker Role | Discord role that can use Fulfill and Cancel buttons |
| Request TTL | Auto-expiry time (5–60 minutes) |
| AA Key | Faction Torn API key (write-only, Limited+ access) |
