Skip to content

A Discord bot for tracking DKP in WoW: WotLK (3.3.5) raids, using LUA files from the QDKP_V2 addon.

License

Notifications You must be signed in to change notification settings

Passos9/QDKP-Helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QDKP Helper

A Discord bot designed to assist with DKP (Dragon Kill Points) tracking for World of Warcraft: Wrath of the Lich King (3.3.5) raids. It reads DKP data from LUA files generated by the QDKP_V2 addon and offers two useful commands for tracking points and distributing loot. You can download the addon here.

Features

  • Displays the current DKP of raiders;
  • Shows loot won in ICC25 and RS25 raids, along with DKP spent;
  • Customizable settings via the config.json file;
  • Standalone executable available.

License

This project is licensed under the GNU GPLv3. See the LICENSE file for details.

Setting up

The bot must be configured locally, as it requires files generated by the QDKP_V2 addon. To use this bot, you first need to obtain a Discord bot token, as explained in step 1.

Note: This guide has been tested on Windows 10, and the instructions assume you're using Windows. If you're using a different operating system, some steps may differ.

1. Create a discord Bot Token:

  • Go to the Discord Developer Portal;
  • Log in with your discord credentials;
  • Click "New Application", give it a name and click "Create";

Create the bot

  • (Optional) Add an image to the bot;

Add a picture

  • Copy your Discord bot token. If the token is not displayed, go to the "Bot" tab, and under the "Token" section, click "Reset Token" and enter your password. A new token will appear—copy it and store it somewhere safe.

Reset token

Do NOT share your bot token! Each user must generate its own.

2. Invite Your bot to a server:

  • Ensure you have at least "Manage Server" permission on the server where you want to add the bot;
  • In the "Bot" tab, enable "MESSAGE CONTENT INTENT";

Message Content Intent

  • In the "OAuth2" tab, scroll down to the "OAuth2 URL Generator" box and select the "bot" scope;

Bot Scope

  • Scroll down to "BOT PERMISSIONS" and enable the "Send Messages" permission;

Install link

  • Scroll down to find "INTEGRATION TYPE" and "GENERATED URL". Make sure the integration type is set to "Guild Install", then copy the URL and paste it into your web browser.

Url Generator

Paste on the browser

  • When you click "Continue to Discord", a window should appear in your Discord app;
  • Select "Add to Server", then choose the server where you want to add the bot. (Note: You must have at least "Manage Server" permission for the server to appear in the list.)
  • Authorize the permission, and voilà! The bot is now in your server;

Success

  • You should now be able to see the bot as a member of your server.

Success Proof

3. Provisioning:

The bot to run is going to need:

  • The token you previously copied;
  • The path to a file generated by the addon;
  • The name of the character that started the DKP session;
  • The name of the server and guild.

The first two items (token and path) are sensible and should not be shared under any circumstances. To prevent accidental sharing, the path to the file containing this information must be defined in an environment variable.

  • Move the file .env to any location of your choice and copy the absolute path;
  • Edit the file with all the information needed (TOKEN and path to QDKP_V2.lua file).

3.1 Creating the Envionment Variable

  • Open the Start Menu (Windows key) and search for "Envionment Variables" (or its equivalent in your system language);
  • When it appears, click "Edit the system environment variables";

Edit Env

  • Select the "Advance" tab and click on "Environmental Variables...";

Env Click

  • Click "New" under User variables;

New Env

  • Define the variable name and it's value. The variable name must be "DKPBOT_CONFIG_PATH". For the value, insert the path to the .env file;

Defining env variable

  • Click OK.

3.2 Confirming environmental variable creation

  • Open Windows PowerShell;
  • Type and execute the following command $env:DKPBOT_CONFIG_PATH;
  • If the path you configured does not appear, double-check that the variable was saved correctly and that both the name and path were set properly. If everything seems correct, restart your computer.

4. Running the bot

  • Download the ZIP file containing the source code and extract it to a location of your choice;
  • Simply execute (double-click) the executable named "bot.exe" in the "dist" folder;
  • If everything was done correctly until now the bot should appear as online in the server.

Configuration (config.json)

Below is a brief explanation of the purpose of each configuration variable:

  1. prefix: Defines the character that must be used at the beginning of commands;
  2. server, guild and dkp_master: These values must match the character you used to back up the data. The dkp_master is the character that opened the dkp session;
  3. icc25_session_name and rs25_session_name: these should match the session names. The default names are set by the addon, so there's no need to change them unless you manually rename the session;
  4. wow_data: You can change it, but keep in mind that different websites may have different URL structures, which could cause issues.
  5. ignore_list: By default, the bot tracks all players who have earned DKP at least once (i.e., total DKP is not 0). However, if a player becomes inactive, their points will still be displayed. This ignore list allows you to exclude inactive players or those who no longer raid.

Using the bot

1. Commands

Commands 1st Argument 2nd Argument Purpose
!roster NA NA Lists players current DKP
!loot icc25 / rs25 YYYY-MM-DD Lists loot won in a specific raid. If the second argument (date) is not specified, it returns the most recent raid. The first argument is mandatory

The commands rely on a file generated by the QDKP_V2 addon. This file is updated only when the player logs out of the game.

2. Outputs

2.1. Command !roster

Roster output

2.2. Command !loot icc25

Roster output

2.2. Command !loot rs25

Roster output

2.3. Command !loot rs25 year-month-day

Roster output

Aditional notes

  • The path depends on the account username. This means the bot can only read data from a single account. If you raid with characters from multiple accounts, you must update the path to QDKP_V2.lua accordingly.

About

A Discord bot for tracking DKP in WoW: WotLK (3.3.5) raids, using LUA files from the QDKP_V2 addon.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages