A Guild Wars 2 Discord bot that randomizes your dungeon frequenter routes.
Autocomplete is available for all commands. Just start typing and you'll see the options available.
Use /frequenter to create a randomized dungeon route.
Optional filters such as no_story and time_of_day let you control how paths are chosen.
Frequenter results are shown only to you unless you set the public parameter to True.
/nightfrequenter→ only night time dungeons/dayfrequenter→ only day time dungeons/chaosfrequenter→ ignores blacklist and filters
Keep certain dungeons or paths out of your generated routes.
Blacklist commands are visible only to you.
/blacklist view→ shows your personal blacklist/blacklist add→ exclude a dungeon or specific path/blacklist remove→ re-include a dungeon or path/blacklist clear→ reset your entire blacklist
Note
Blacklist data is saved per user and works across servers.
Your blacklist only affects your own routes.
Set up a daily automatic frequenter post for your server.
Important
To use this command, the Manage Server permission is required. Only one channel can be set up for daily posts per server.
Use /dailyfrequenter setup in the desired channel to enable it.
Pathfinder will automatically post a new randomized route every day at 00:00 UTC, matching the Guild Wars 2 server reset.
Currently, neither filters nor blacklists are considered when generating a route.
/dailyfrequenter viewshows the current configuration./dailyfrequenter clearclears the configuration.
A simple utility command to coordinate runs across time zones.
Use /lfg, select a role to ping and a time for the run.
The time can be absolute like 15:00 or relative like 1h30m or just now.
For convenience you can also just type 13 for 13:00.
12-hour times like 3PM are also supported.
Discord automatically converts the timestamp for each user’s timezone.
So if you schedule a run at 13:00 German time, players in London will see 12:00.
/lfg @Frequenter 1h30m → Posts a message mentioning @Frequenter for a run in 1 hour and 30 minutes.
/lfg @Tour 13:00 → Posts a message mentioning @Tour for a run at 13:00 (your local time).
Python 3.12
Important
Omit DEBUG_GUILD_ID for production mode
Create the .env file in the project's root directory.
TOKEN=1234567890.1234567890.1234567890
APP_ID=1234567890
DEBUG_GUILD_ID=1234567890Note
I'm using UV to run the bot.
sudo nano /etc/systemd/system/pathfinder.servicesudo systemctl enable pathfinder.servicesudo systemctl start pathfinder.service
[Unit]
Description=Pathfinder Discord Bot
After=network.target
[Service]
User=root
WorkingDirectory=/root/pathfinder
ExecStart=/root/.local/bin/uv run /root/pathfinder/src/main.py
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetUsed to store settings and logging for debugging purposes only.
- Guild (server) IDs
- User IDs
- Thank you Devin for the bot idea.
- Thank you Everless for the
/chaosfrequenterconcept. - Thank you Bird for testing ("I have the urge to break things")


