A desktop application to upload Guild Wars 2 ArcDPS logs to dps.report and post formatted results to Discord.
- Upload to dps.report: Uploads
.evtc,.zevtc, and.evtc.zipfiles to theb.dps.reportendpoint. - Discord Publishing:
- Sends a formatted embed message to the specified Discord channel.
- Groups logs by Wing/Scale (Fractals)/Strikes.
- Option to display encounter duration in the Discord message sent.
- Allows adding a custom title to each upload batch (Discord message).
- Flexible selection:
- Presets: Buttons for quick uploads (Full Raid Clear W1-W8, Semi FC W1-W7, All Fractal CMs).
- By category: Buttons to show and select specific logs for Raids, Strikes, or Fractals.
- Persistent configuration: Saves settings (token, channel, path, language, etc.) in the user's data folder (
%APPDATA%\zenLogBOTon Windows). - Multi-language: Interface available in English and Spanish.
These instructions are for running the application directly from the source code, if you prefer not to use the pre-compiled executable.
-
Prerequisites:
-
Clone the repository:
# Navigate to the folder where you want to clone the project git clone https://github.com/neutrobox/zenLogBOT.git cd zenLogBOT
-
Create and activate Virtual Environment (Recommended): This creates an isolated environment for the project's dependencies, avoiding conflicts with other Python projects.
# Inside the gw2logbot folder python -m venv venv # Activate the virtual environment: # Windows (cmd/powershell): .\venv\Scripts\activate # Linux/macOS (bash/zsh): source venv/bin/activate
(You will see
(venv)at the beginning of your command line if it's active). -
Install Dependencies: With the virtual environment activated, install the necessary libraries:
pip install -r requirements.txt
-
Run the Application:
python main.py
-
Initial Configuration:
- The first time you run, go to the "Configuration" tab.
- Enter your Discord BOT Token. (Tutorial on how to create a Discord BOT and retrieve it's token: here)
- Enter the Discord Channel ID where you want logs to be posted.
- Select your Logs folder (
arcdps.cbtlogs) using the "Browse..." button. - (Optional) Enter your dps.report user token.
- Select the desired language.
- Click "Save configuration".
- Restart the application for the Discord bot to connect correctly with the new settings.
-
Usage:
- Go to the "Upload logs" tab.
- Optionally, check "Show encounter duration" to display the encounter duration in the message sent to the Discord channel configured previously.
- Use the Preset buttons or select a Category to choose specific logs.
- Enter an optional title in the pop-up window and click
- Observe the progress in the "Output" area.
- The formatted results will be posted to the configured Discord channel.
-
Deactivate Virtual Environment: When you are finished using the application, you can deactivate the virtual environment:
deactivate
If you wish to create your own standalone .exe file:
- Follow steps 1-4 from "Installation and execution (from source code)" to set up the virtual environment and install base dependencies.
- Install PyInstaller:
pip install pyinstaller
- Run PyInstaller:
From the root project folder (
zenLogBOT), run the following command:pyinstaller --name "zenLogBOT" --onefile --windowed --icon="favicon.ico" --add-data="data;data" main.py
--onedir: Alternatively, you can use--onedirinstead of--onefile. This will create a folder indistinstead of a single file, which is less likely to be flagged as a false positive by antivirus software.
- Result: The executable (
zenLogBOT.exe) or folder (dist/zenLogBOT) will be located in thedistfolder.
Special thanks to aytiel for PHTM-b0t and [kP] guild members for testing purposes.