Zum Inhalt springen
Guides durchsuchen

Discord bot

Add the Truck Pulse bot to your Discord server, route announcements to channels, and keep Discord roles in sync.

What the bot does

Once the Truck Pulse bot is in your server, your Hub can:

  • Post announcements — new applications, accepted members, upcoming events, promotions, completed deliveries and more, each to a channel you choose.
  • Keep Discord roles in sync — a promotion on your roster updates the member's Discord roles automatically.
  • Run your Hub with slash commands — staff can accept applications, approve leave, award points and more without leaving Discord. See Slash commands.
  • Use your own bot identity instead of the Truck Pulse bot, on the Pro plan and above.

Everything lives on two pages in your Hub panel, both under Settings: Discord (the connection and channel routing) and Discord roles (role sync).

Add the bot to your server

You need to be a staff member who can manage Hub settings, and you need permission to add bots to your Discord server (usually "Manage Server").

  1. In your Hub panel, go to Settings → Discord.
  2. Choose Add to Server. A Discord page opens in a new tab.

The Discord page with the Add to Server button

  1. On Discord's page, pick your server from the list and confirm. Leave the requested permissions ticked — the bot needs View Channel, Send Messages and Embed Links to post, and Manage Roles if you plan to use role sync.

📷 Screenshot coming soon — Discord's bot-authorisation screen with the server picker and permission list.

  1. Discord sends you back to the Discord page in your Hub panel with a "Discord server connected" message.
  2. Choose Send test message, pick a channel, and check the message lands in your server.

If you ever need to move the bot to a different server, use Add to Server again (it reads Reconnect Discord while connected). Disconnect removes the link entirely.

Choose which channels receive what

Each announcement type has its own channel, so applications can go to a staff channel while delivery announcements go to a public one.

  1. On Settings → Discord, choose Refresh channels so the page lists your server's text channels.
  2. Open the Channel routing section. Announcements are grouped by area — Applications, Members, Leave of absence, Events, Ranks, Goals, Partners, Points, Trucky — with a channel picker for each event.
  3. Pick a channel for every event you want announced. An event with no channel shows Off — don't deliver and is simply not sent. Events marked (recommended) are the ones most Hubs route.
  4. Choose Save changes.

The channel routing section on the Discord page

Want different wording in the messages? The text of each announcement is edited on the message templates page — see Notifications.

Keep Discord roles in sync

Role sync keeps your members' Discord roles matching their Hub roles, ranks and status. It flows from the Hub to Discord: accepting, promoting or removing a member updates their Discord roles; changing roles inside Discord does not change anything in the Hub.

  1. Go to Settings → Discord roles. Role sync needs a connected server (above) and the bot's Manage Roles permission.
  2. Turn on Keep Discord roles in sync.
  3. Choose Refresh Discord roles to load your server's roles, then map them:
    • Lifecycle states — roles for a member's status (accepted as a driver, on leave, departed), independent of their Hub roles.
    • Hub roles — the Discord role(s) a member holding each Hub role should get.
    • Ranks — one Discord role per rank; promotions swap the roles automatically.
  4. Choose Save changes, then Resync all members now to bring everyone in line at once. The resync runs in the background.

The Discord roles page with the mapping sections

Two things worth knowing:

  • Reflect Discord leaves back to the Hub is the one exception to the one-way flow: when it is on, a member who leaves your Discord server is also removed from the Hub. It is off by default — your Hub roster is the source of truth.
  • The Members that could not be synced section lists anyone whose roles could not be applied — usually because they are not in your Discord server, or the bot lost its Manage Roles permission. Fix the cause and resync.

📷 Screenshot coming soon — Discord's server role list showing the bot's role placed above the roles it manages. Discord only lets a bot assign roles that sit below its own role, so drag the bot's role up if mapped roles are not being applied.

Slash commands

The bot registers a set of staff commands in your server the moment it joins — there is nothing to set up. They let your staff run the day-to-day of the Hub without opening the panel:

Command What it does
/application accept id Accept a driver application — same effect as accepting it in the panel (membership activated, applicant notified).
/application reject id [reason] Reject an application, with an optional reason passed to the applicant.
/loa approve id Approve a leave of absence request.
/loa deny id Deny a leave of absence request.
/driver stats driver Look up a member's distance, deliveries, points and current rank.
/points award driver amount reason Award points to a member (or deduct them with a negative amount), exactly like a manual award in the panel.
/event announce id Publish an event — the announcement and RSVP notifications go out just as if you published it from the panel.
/recruitment status Open, close or set your Hub to invite-only recruiting.

The id values are the numbers shown next to applications, leave requests and events in your Hub panel.

A few things to know:

  • Commands use your Hub's permissions. The person running a command must have their Discord account linked to a Hub member, and that member needs the same permission the action requires in the panel — /application accept needs the "decide applications" permission, /points award needs "award points", and so on. See Roles & permissions.
  • Replies are private. The bot answers with a message only the person who ran the command can see, so lookups and decisions don't clutter your channels.
  • Everything is on the record. Commands that change something (accepting an application, awarding points, changing recruiting status) are written to your Hub's audit log against the staff member who ran them, the same as panel actions.

Use your own bot

On the Pro plan and above, your Hub can send everything as its own bot — your VTC's name and avatar instead of the Truck Pulse bot. On the Free plan this section shows an upgrade prompt; see Billing.

First, create the bot on Discord's side:

  1. Create an application in the Discord developer portal and add a bot to it.

📷 Screenshot coming soon — the Discord developer portal's "New Application" and Bot pages.

  1. On the application's Bot page, turn on the Server Members Intent under Privileged Gateway Intents, and copy the bot token.

📷 Screenshot coming soon — the Privileged Gateway Intents section with Server Members Intent turned on.

  1. Invite your bot to your server with the same permissions as the Truck Pulse bot: View Channel, Send Messages, Embed Links and Manage Roles.

📷 Screenshot coming soon — the developer portal's OAuth2 URL generator with the bot scope and permissions ticked.

Then, back in your Hub panel:

  1. On Settings → Discord, open the Use your own bot section, paste the token into Bot token, and choose Save changes. The token is checked with Discord and stored encrypted.
  2. Each event in Channel routing now has a Send as picker, so you can send some announcements as your bot and others as the Truck Pulse bot.

The Use your own bot section with the bot token field

Zuletzt am 2026-07-14 gegen die App geprüft.