Warnings¶
For: intermediate admins tuning warnings.
tpa:
warnings:
afkMinUnanswered: 3
afkMinPendingSeconds: 180
cancellerMinDenied: 3
cancellerMinPendingSeconds: 20
confirmWindowSeconds: 15
nudgeCooldownSeconds: 300
nudgeMinCancelStreak: 3
nudgeMinExpiryStreak: 3
harassMinRequests: 3
harassWindowSeconds: 600
A receiver counts as AFK past afkMinUnanswered expiries and
afkMinPendingSeconds total pending seconds (overlapping requests
count once per second), and as a canceller past
cancellerMinDenied denies and cancellerMinPendingSeconds
denied-pending seconds. Senders warned about such a receiver must
re-send within confirmWindowSeconds to confirm. Receivers get at
most one nudge per nudgeCooldownSeconds: after
nudgeMinCancelStreak straight denies or nudgeMinExpiryStreak
straight expiries (any accept resets both) the nudge offers one-click
Block All; after harassMinRequests requests from one sender within
harassWindowSeconds it offers Block player. /tpall skips warning
confirmations.
Answering shows intent: an accept clears every warning counter and
that sender's harassment hits, while a deny clears the AFK counters
and harassment hits but grows the canceller chain. Long-term
counters persist in the database (jtpa_warn_unanswered,
jtpa_warn_pending_seconds, jtpa_warn_denied,
jtpa_warn_denied_seconds); streaks, confirmations and throttles are
in-memory. The sender warnings and nudges are messages.yml keys
(warnAfk, warnCanceller, nudgeCancel, nudgeAfk,
nudgeHarass plus the button texts), so their wording stays
editable without touching thresholds.