Chain watch
Chain watch runs the queue for keeping a Torn chain alive: who is on duty, how many hits they owe, and what happens when the timer gets tight.
Starting a watch
/chain-start opens the queue for people to join, with a hit
quota per person and, optionally, a target faction for inside hits. As the
chain runs, the dashboard rotates who is on duty and escalates its warnings
the closer the timer gets to running out.
The management commands (/chain-start, /chain-stop, /chain-config
and so on, plus /link) and the Chain history page belong to the Chain managers, see
Admin roles & permissions. Joining, leaving and confirming stay open
to everyone.
Confirming a handover
Whoever comes on duty has to press CONFIRM within the
confirm time, otherwise the rotation moves on and the watcher is told. The
default is 45 seconds; admins can change it for the running watch with
/chain-config ack: (10 to 300 seconds, 0 goes back
to the default) or set it at the start with /chain-start ack:.
A landed hit counts as a confirmation too.
Hit timer. The bot has its own countdown, independent of Torn's chain timer. Every chain hit restarts it; if it
runs out, the person on duty is pinged once (Hit timer ran out). Set the length with
/chain-config timer_seconds: (10 to 3600 seconds, 0 = default 180) and choose with
/chain-config timer: whether it runs only in quiet mode (default) or always.
When the whole faction is hitting at once, the bot goes quiet (muted rotation, no announcements) and nobody needs to confirm: a muted handover has no confirm time, and a confirm that was still open when the mode switched is dropped. When the bot gets loud again and the person on duty has no hits yet and hasn't confirmed, the confirm time starts right then, with the usual announcement.
Changing the order
Admins use /chain-order member: to fix the queue by hand.
Without position the member is removed from the queue, or added at
the end if they weren't in it (someone on duty who is removed is treated as
leaving, the next person comes on duty). With position: the
member is placed there, or moved there if already waiting, and everyone else
shifts. Positions count from the person up next: 1 is next,
2 is after that, and so on; a number past the end means the end.
Position 0 does not exist: whoever is on duty is never moved or
replaced this way, use /chain-skip to hand over.
Two ways to detect a hit
With Faction API Access on the key in use, the bot reads your faction's attack log directly and knows exactly who hit, and whether it landed on the configured target faction ("inside") or somewhere else ("outside", see below). Without that access, it falls back to a counting mode: it only credits the person currently on duty, matched against their own public win count, so it can't tell who else did what. The bot detects which mode a key supports on its own and switches automatically, with a notice in the channel.
Outside hits
If a target faction is set, only hits landing on that faction count as "inside". Any other hit still counts normally for the queue and rotation, it just gets tracked separately on the leaderboard as an outside hit. This only works in the precise detection mode, the counting fallback can't tell where a hit landed.
Ending a watch and looking back
/chain-stop ends the watch and posts a leaderboard: who was
assigned how many hits and how many they actually landed.
/chain-history shows the same breakdown for an earlier chain,
and the website keeps a longer, browsable history (see
History & exports).
Chain targets (beta): link your FFScouter key
The chain dashboard can suggest targets for whoever is on duty and for the watcher. The suggestions come from FFScouter (ffscouter.com), an independent third-party service that estimates the Fair Fight value of a target for your stats, and only for people who linked their own FFScouter key. Nobody has to: it is opt-in, per person.
- Register a key on the FFScouter homepage first (use a Custom key and register it there). A key that isn't registered with FFScouter is refused.
- Link it with
/linkff: a private window opens, paste the key. Every answer is visible only to you. Full Access keys are rejected, like everywhere else, and the key has to belong to your own Torn account. - Remove it with
/unlinkffwhenever you like. It is deleted here at once.
The key is stored encrypted, never shown again, and sent to ffscouter.com only to look up targets for you.
It is global for your Discord account, not tied to one server, and it works without any booked product.
FFScouter has its own terms and privacy rules, see Privacy. Without a linked key the
dashboard shows a short hint to use /linkff instead of targets.
What the dashboard shows
- Targets for whoever is on duty: an Outside target and, only if a target faction
is set (
external_faction), an Inside target from that faction. Without a target faction there is no Inside line at all, only the Outside target. Each line links straight to the Torn attack page and shows the Fair Fight value and the estimated stats. A target marked low FF means nothing better was available. - The watcher gets one Outside target line in the Watcher field, picked with the
watcher's own key. A person who hasn't linked a key sees the
/linkffhint instead (the duty person and the watcher are checked separately). - Only attackable targets: not in hospital, jail, travelling or abroad. The bot re-checks the current suggestion every half minute and swaps it as soon as it becomes unavailable. Fair Fight is personal, so each person sees targets that fit their stats; the default window is Fair Fight 2.5 or better, closest to 3.0.
- Switch it off for a watch with
/chain-config targets:off(back on withtargets:on). If FFScouter is busy the dashboard keeps the last suggestion or says that targets are delayed.
Quiet channels
Server admins can put channels on a blacklist (/guild/{server
id}/channels) where the bot won't reply to mentions. Commands and
buttons keep working everywhere regardless.
See also: Torn API keys & factions, History & exports, Mercenary work