b0torn Warbot

Install to your faction Discord • Generate Ranked War CSV reports • Payments • Bleeders • Armory Xanax

Ranked War CSV reports for your faction Discord.

Share the war reports automatically in your faction discord.

b0torn Warbot posts a Ranked War summary to Discord and uploads a CSV with per-member stats, optional payouts, bleeders, and armory Xanax usage + price estimate.

RW-only vs opponent CSV export Generate Payouts List Bleeders Armory Xanax Usage
Install link
Add the bot to your faction Discord server.
You do not need to run anything on your own server. Just install the bot, set the API key, and run reports.
Clean time windows

You provide start/end in TCT (UTC). Reports pull attacks inside that window and filter to RW-only vs the opponent.

Payments

Choose a mode and pool amount. Payouts are allocated to the pool.

Armory Xanax

Counts Xanax used from faction armory prior and during war, plus estimate costs.

Faction Discord setup (admins)

Do these once per Discord server.

1
Invite the bot
Use the install link above and select your faction’s Discord server.
2
Pick a channel for reports (everyone with access in that channel can run reports)
Go to the desired channel and run: /warbot-set-channel
3
Set your Torn API key
Run: /warbot-set-api-key and paste a Torn API key (Limited). The bot uses it to fetch faction attacks, ranked war data, and (if allowed) armory Xanax taken.
4
Optional: configure payments
Set mode with /warbot-set-payment-mode.
5
Generate your report
Generate reports with /warbot-report. Required fields: start, start. Optional: war_id, total_payment, min_respect. If war_id is not set, last completed war is selected.
Permissions: Some features (like armory) may require a key with the correct Torn API permissions. If armory Xanax is unavailable, the report will still work — it will just show Xanax as unavailable.
Discord commands

All commands are slash commands. Admin-only commands are marked.

/warbot-report generate CSV
start (required)
TCT/UTC time. Format: HH:MM:SS - DD/MM/YY (or DD/MM/YYYY).
end (required)
TCT/UTC time. Must be ≥ start.
war_id (optional)
If omitted, bot uses the most recent ranked war for your faction.
payment_mode (optional)
Override server setting: off|min-respect|hit-respect|gained-respect
min_respect (optional)
Override threshold used by min-respect mode.
total_payment (optional)
Override integer pool amount for payouts.
Output: Discord summary + CSV upload. Attacks are filtered to RW-only vs opponent faction.
/warbot-status view current settings
Shows current server configuration (API key is hidden).
/warbot-set-channel admin
Locks bot usage to the current channel for that Discord server.
/warbot-set-api-key admin
Stores your Torn API key (Limited). Required for reports.
/warbot-set-payment-mode off|min-respect|hit-respect|gained-respect
Selects how the pool is distributed across members. See Payments section below.
/warbot-set-min-respect used by min-respect
Sets the minimum respect gained on a hit to count as an “eligible hit”.
/warbot-set-total-payment integer pool
Sets the total payout pool as an integer amount (e.g., 25000000). The bot allocates integers that sum exactly to the pool.
Payments: how payouts are calculated

Payments are always allocated as integers. No decimals in payout amounts.

Core allocation logic integer exact-sum
Each member gets a weight based on the selected mode. Then the pool is split proportionally. The bot floors each share and distributes leftover $1 increments by largest remainder, so totals match exactly.
Let: P = total pool (integer) w_i = member i weight W = sum(w_i) Raw share: s_i = P * (w_i / W) Payout: payout_i = floor(s_i) Remainder distribution: remaining = P - sum(payout_i) Give +1 to members with the largest (s_i - floor(s_i)) until remaining == 0 Guarantees: sum(payout_i) == P all payout_i are integers
Mode: off no payouts
All payouts are 0.
Mode: min-respect eligible hits
Weight is the count of eligible hits: hits where respect_gained ≥ min_respect.
Mode: hit-respect respect gained
Weight is total respect gained as the attacker across the report window.
Mode: gained-respect net respect
Weight is net respect (respect gained minus respect lost), but only if net is positive. If a member is negative net, their weight becomes 0 for payouts.
Tip: Use gained-respect if you want to avoid paying players who went net-negative (“bleeders”). The report still lists bleeders regardless of mode.
Generating a report

Run the report command with a clear start and end time in TCT (UTC).

Example: /warbot-report start:"20:00:00 - 01/02/26" end:"20:00:00 - 02/02/26" Notes: - Times are TCT (UTC) - The CSV includes per-member stats and Xanax usage (if available)
Armory Xanax tracking counts Xanax taken/used and looks back 72 hours before the report start.