- Introduction
- Using/launching
- Tell me what you think!
- The application
- Examples
- Event handling
- Message reacting and answering
- Interactive mission unlocking (new)
- More
- Configuration
This is a Discord bot I made to assist my GTFO team in expedition management.
It's able to show the state of the game's rundowns and to display details about the missions. We use it to follow our progress through the complex and to familiarise with the next mission intels and objectives before dropping in.
NEW! Dauda is now on the official Discord app directory!
If you want to use or try Dauda, you can add it to your server through the official Discord app directory by clicking this button:
If you find a bug, need help, informations, want to follow the news about the bot, or just want to talk, don't hesitate to join Dauda's Discord server!
The application itself is just a bot named Dauda (like one of the bots in the game).
It allows several commands, but its main one is /rundowns
:
/rundowns
displays the list of available rundowns:
From there, you'll be able to check any rundowns state and mission intel, but also to mark missions and subsectors as completed or not (optional).
You can see that the missions that have been successfully finished are represented in green.
Here the subsectors will have a checkmark if completed.
At the bottom, you can click on a button to mark a sector as complete (or as not complete).
Note: To use those buttons, the user needs the permission to manage events.
Note #2: Like the checkmarks, those buttons only appear when progression mode1 in enabled
The bot sends a message when a scheduled server event is created. By checking the name and description of the event for a mission ID, it's able to know where the expedition is going, and sends a message including the mission ID (if no mission ID is found, the message just doesn't mention it):
The Warden is sending us in a new expedition to R7B1, so get ready to work together, or die together!
It also keeps track of who is interested in the expedition and sends messages accordingly.
When the event starts, Dauda will tell users with a join link.
If you change the mission ID contained in the event, the bot will send a message saying that the expedition is changing destination. The message will depend of the completion of the first destination:
The expedition to R1C2 was a success and is now moving to R1D1!
Unfortunately, the expedition to R7B2 did not end up as expected... But no worries, we are now moving to R7C1.
When an event is finished, a message of the same kind as above will be sent, again checking the completion of the mission in the completion file.
Of course it means you have to update the file with /rundowns
before modifying or finishing the event.
If progression is disabled1, the sentence still appears, but will be more neutral.
By default, all of these messages will be sent to the first channel named general
it finds. If there is none, it will send it to the system channel. If no system channel is defined, it doesn't send the messages.
You can change this setting (per server) with the /config
1 command.
The setting is still overideable, by putting `ch:channelname`
somewhere in the event description, the bot will send any message about this event in that selected channel (here, "#channelname").
The /config
1 command also allows to configure a role to be pinged when event messages are sent.
By default, the bot only reacts to events with the text GTFO
in their descriptions, this comportment is toggleable with the /config
1 command.
The bot is also able to react to some messages, like an @everyone
ping.
For instance it can react to messages like "Did we finish R1D1?", "What's the state of R2B1?", "Do you guys know if we are done with R7B3?" with a green checkmark ✅ or a red cross ❌, depending of the state of the main objective of that mission.
It also answers to messages like "Thanks Dauda" with a random "You're welcome" message, and react with a question mark ❓ when someone says things like "Just ask Dauda".
If asked to do so with the /config
1 command, the bot can block access to the missions that are locked in game, however if you want to know which missions are locked but still be able to check them, it is also possible to just visually change them.
The application is fully localized in English and French, taking the server language for event handling and answering/reacting to messages, and the interacting user's language for command descriptions, and answering to commands (Intel, mission descriptions, etc...).
It's also quite easy to localize in other languages (cf. the english localization file).
You can check if any language file has missing translations here.
If a text channel named dauda-logs
exists, the bot will log every actions it does in this server in it, along with actions like rebooting or updating.
You can of course change it to any other channel (like your “bot-logs” channel for instance) by using the /config
command1.
The bot has an echo
command, allowing admins to speak in his name (Real message author can still be checked in the logs channel).
The /config
command allows you customisation of some of the bot functions:
Option | Description |
---|---|
eventChannel | The channel where the event related messages are sent |
prisonersRole | The role GTFO players have on the server (defaults to any role named “Prisoners”) |
logsChannel | The channel where the logs are sent (defaults to any channel named “dauda-logs”) |
eventRequirement | Whether the events need “GTFO” in their description to be taken in account by the bot or not (enabled by default) |
progression | Wether to enable or disable the progression function (enabled by default) |
interactiveUnlock | Block access or change the style of not unlocked levels (disabled by default) It can be set up to block , visual or disabled |
resetProgression | Resets the server's progression (irreversible, you'll have to type “confirm” for the command to execute) |
Keep in mind the name of the options will change according to the language of your discord client.