Documentation
Installation
Click the button below to add DevTracker to your server.
Basic setup
Simply create a channel where you want to receive the posts, make sure DevTracker has the View Channel
and Send Messages
Discord permissions for that channel.
Then, use the /dt-set-channel
command to tell the bot where to send the posts. e.g.:
/dt-set-channel game channel: #sc-devtracker game: Star Citizen
Advanced setup
You have 2 options, use a single channel for all the posts, or use a specific channel for each game:
- Single channel: Use the
/dt-set-channel default
command to set the default channel for all the posts. e.g.:/dt-set-channel default channel: #devtracker
You can then use the
/dt-follow
command to follow games. e.g.:/dt-follow game: Star Citizen /dt-follow game: Elite: Dangerous
Now all the posts from
Star Citizen
andElite: Dangerous
will be sent to the#devtracker
channel. - Specific channel per game: Use the
/dt-set-channel game
command to set a specific channel for each game. e.g.:/dt-set-channel game channel: #sc-devtracker game: Star Citizen
Commands
Each Slash Command has autofillers to help you.
Filtering posts
Allowlist & Ignorelist
You can setup allowlists or ignorelists to filter posts for each game.
allowlist
: Only posts matching the accounts or service in this list will be sent.ignorelist
: Posts matching the accounts or service in this list will be ignored.
Notes:
- Each
allowlist
orignorelist
is game-specific, so you can have different filters for each game. - You can use both at the same time, but the
allowlist
will take precedence over theignorelist
. E.g. if you have anigorelist
with a specific account forStar Citizen
from theTwitter
service, and anallowlist
for the wholersi
service forStar Citizen
, only posts from thersi
service will be sent, the ignored account will not even be considered. - You’ll find the
account_id
in the footer of each post.
Ignore specific accounts or service:
This is achieved via the /dt-ignorelist
command. Any future post from the specified account or service from the ignorelist
for the specified game will be ignored.
Examples:
# Ignore posts from a specific account
/dt-ignorelist add account game_name: Star Citizen service_id: rsi account_id: Zyloh-CIG
# Ignore all posts from a specific service
/dt-ignorelist add service game_name: Star Citizen service_id: rsi
# Stop ignoring posts from a specific service
/dt-ignorelist remove service game_name: Star Citizen service_id: rsi
# Stop ignoring posts from a specific account
/dt-ignorelist remove account game_name: Star Citizen account_id: Zyloh-CIG
Get only posts from specific accounts or service:
This is achieved via the /dt-allowlist
command. Any future post from the specified account or service from the allowlist
will be the only ones sent for the specified game.
Usage is the same than the ignorelist
command.
Examples:
# Get posts from a specific account only
/dt-allowlist add account game_name: Star Citizen service_id: rsi account_id: Zyloh-CIG
# Get posts from a specific service only
/dt-allowlist add service game_name: Star Citizen service_id: rsi
# Remove a specific service from the allowlist
/dt-allowlist remove service game_name: Star Citizen service_id: rsi
# Remove a specific account from the allowlist
/dt-allowlist remove account game_name: Star Citizen account_id: Zyloh-CIG
URL Filters
You can also filter posts by URL. This is useful if you want to get only posts from specific threads. There’s two different con
Global URL Filters
Only posts where the origin URL matches the filters will be sent to the channel configured with the /dt-set-channel
command.
Example
Let’s imagine you want only posts from the Announcements
section of the Star Citizen forums. The url for the Announcements
section is https://robertsspaceindustries.com/spectrum/community/SC/forum/1
You can use the /dt-urlfilters global
command to add forum/1
filter for Star Citizen
forums:
/dt-urlfilters global game_name: Star Citizen service_id: rsi
This will open a modal with your current filters.
You can then add the forum/1
filter then click the Submit button to apply changes.
Note:
You can also add multiple filters for the same service. You just need to separate them with a comma ,
.
If any of the filters match the post URL, it will be sent to the set channel.
E.g.: forum/1,forum/3,forum/4
, this will match any post from the Announcements
, General
and Feedback
sections.
Channel URL Filters
This allows to use URL Filters to dispatch posts that match the filters to a specific channel.
Example
Let’s imagine you want all the posts from the Announcements
section of the Star Citizen forums to be sent to the #sc-announcements
Discord channel. The url for the Announcements
section is https://robertsspaceindustries.com/spectrum/community/SC/forum/1
You can use the /dt-urlfilters channel
command to add forum/1
filter for Star Citizen
forums:
/dt-urlfilters global channel: #sc-announcements game_name: Star Citizen service_id: rsi
This will open a modal with your current filters.
You can then add the forum/1
filter then click the Submit button to apply changes.
Note:
- Please make sure the bot have the **Send Message permission** for the channel you’re using. Otherwise it won’t be able to send the posts.
- You can add multiple filters for the same service here too. You just need to separate them with a comma
,
.
Get current configuration
You can use the /dt-config
command to get the current configuration for the server.
This will list all the games you’re following, and the channel where the posts are sent.
It will also give you the active allowlist
and ignorelist
for each game.
Self-Hosting
This Bot relies on the DeveloperTracker API that can be found here.
Once you have your credentials, you can either:
- Fill the
example.env
file and rename it into.env
. - Use
docker-compose.yml
with Docker Secrets.
Here’s what you’ll need to set:
API_BASE
: The DeveloperTracker.com API base url.API_TOKEN
: Your DeveloperTracker.com API Token.BOT_TOKEN
: Your Discord Bot Token
Optional (Only used when the --log-level debug
argument is passed or with docker-compose --profile debug
.):
DEBUG_GUILD_ID
: Your Debug Guild ID, slash commands will only be synchronized for this guild only.DEBUG_BOT_TOKEN
: Your Debug Discord Bot Token, to run the bot on a seperate Discord App when debugging.
You can then launch the bot as described below:
Python
Install the pip dependancies (virtual environment recommended).
$ pip -r requirements.txt
And you can simply run the bot with
$ python bot.py
Docker-Compose
Docker will manage the dependancies for you. It will build the images automatically on first run.
$ docker-compose --profile default up -d
Run in debug mode:
$ docker-compose --profile debug up -d