Discord Bot¶
Alerts where the regiment already is. Foxlogi's bot posts into your own Discord server when something is about to expire, when a request changes status, or when membership changes — with role mentions, routed to per-topic channels.
What problem it solves¶
A logistics tool that requires people to open it is a logistics tool people forget to open. Foxhole regiments live in Discord — that's where the ops are called, where the shift handover happens, and where someone is always half-watching.
So the alerts have to go there. And they have to go to the right channel and ping the
right role, or they become noise everyone mutes: a battleship despawn warning that pings
@everyone at 4 AM teaches people to ignore battleship despawn warnings.
Setup¶
Three steps, shown at the top of the page:
- Invite the Foxlogi bot to your Discord server
- Make sure it can access the channels you want to post in
- Reload to pull the server's channels and roles
Until the bot is invited, Foxlogi shows a clear Bot Access Error rather than silently failing:
Notification groups¶
A notification group is a named (channel + roles) pair. Create as many as you need:
| Group | Channel | Roles to mention |
|---|---|---|
| Logi Officers | #logi-command |
@Logi Officer |
| Frontline Squad | #frontline |
@Frontline |
| Timer Watch | #timers |
@Naval, @Armour |
Groups are then assigned per object. A stockpile, timer or supply tunnel each picks which group it notifies. That's the mechanism that keeps alerts useful:
- Backline stockpile expiring →
Logi Officers - Battleship timer expiring →
Timer Watch, pinging@Naval - Frontline tunnel running dry →
Frontline Squad
Shared objects carry a per-share notification setting too, so an allied regiment receives your shared timer's alerts in their channel with their roles — see Sharing.
What gets notified¶
| Section | Trigger |
|---|---|
| Stockpiles — Default group | A stockpile drops under 9 hours to despawn |
| Stockpiles — Stockpile codes log | Current passcodes posted to a dedicated channel |
| Stockpile request status | A logistics request is created, changes status, or completes |
| Members | Membership and permission changes |
| Supply tunnel — Default group | A tunnel drops under 36 hours of maintenance supplies |
| Timer — Default group | A squad-locked asset drops under 9 hours |
Alert messages list the affected items sorted by urgency, so the most endangered thing is the first line rather than buried in a wall of text.
Stockpile codes log¶
A separate channel setting that posts current stockpile passcodes on a schedule. The intent is a locked, permission-restricted channel that acts as the regiment's always-current code reference — replacing the pinned message someone has to remember to edit. Access to that channel becomes the Discord-side mirror of Foxlogi's per-stockpile permission levels, and copies made in-app are still audited via Accessed Stockpiles.
Role mapping¶
Regiment → Roles maps Discord server roles to Foxlogi permission levels. When a member logs in with Discord, their permission level is set from the highest-priority role they hold.
This is the piece that makes Foxlogi maintainable for a large regiment: you promote someone in Discord as you always did, and their Foxlogi access follows automatically. No parallel admin, no member sitting at None for a week because nobody approved them.
A scheduled job re-checks role membership periodically, so demotions and departures propagate too — not just promotions.
Timing¶
Notification jobs run on a schedule (every few hours) rather than continuously. Combined with the 9-hour and 36-hour thresholds, that means:
- You get warned with most of a day's slack, not five minutes before despawn
- A regiment spread across time zones gets at least one alert during someone's waking hours
- The channel doesn't fill with repeated pings about the same item
An hourly maintenance job also handles housekeeping: ageing out stale MPF orders, expiring old intel markers (mines after 2 days, vehicles after 5), and decaying supply-tunnel stock so the numbers stay honest between manual updates.


