Coder Social home page Coder Social logo

phtm-b0t's Introduction

GW2 Log Bot

For all of your raid and fractal log needs!

The intention of this Discord bot is to automate the monotonous process of manually uploading and posting logs after every raid or fractal clear. At the call of a single command, your most recent logs will be uploaded to both dps.report and GW2Raidar(deprecated), and all of the links will be posted in your Discord server within minutes.

Supported languages: English, German, French, Spanish

This project has been placed in maintenance mode and will not receive any updates unless more raids / fractals are added to the game (Strikes are not included).

Installing the bot

1. Install Python 3.6+. To guarantee the best results, install Python 3.6.5(32-bit)(64-bit).
2. During the setup, make sure to tick Install launcher for all users (recommended) and Add Python 3.6 to PATH.
3. Install Git for Windows.
4. During the setup, make sure to tick Use Git from the Windows Command Prompt,
Checkout Windows-style, commit Unix-style endings, and Use MinTTY (the default terminal MSYS2).
5. Open Git Bash by right-clicking inside the empty space of the folder where you would like to
keep the bot and clicking Git Bash Here.
6. In the command window that opens, run the following command:
git clone https://github.com/aytiel/PHTM-b0t.git GW2LogBot -b gw2-uploader.

Setting up the bot

Note: You can skip steps 1 and 2 if somebody is already running an instance of the GW2 Log Bot in your Discord server.
1. Create a bot account. Helpful tutorials can be found here and here.
2. Invite the bot to your Discord server using the following link:
https://discordapp.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=27648&scope=bot.
Make sure you replace YOUR_CLIENT_ID with the client id listed on your application page.
3. Update settings/config.py with the token associated with your bot account.
TOKEN = 'BOT_TOKEN_HERE'
You can open the settings/config.py file using Notepad or Notepad++.
Also, feel free to change the command PREFIX as well if you wish.
4. Double-click on install.sh to install all the required dependencies.
5. Run the bot by double-clicking the run_bot.sh script. The script should update the bot to the latest version and then run it. If the update fails, you can retrieve a fresh, up-to-date copy by repeating Steps 5 and 6 of Installing the bot.

Join the Discord server for questions, concerns, and troubleshooting and for access to custom boss icons for more aesthetic log posting.

Commands

The default prefix is $.

Command Description
login Assigns the bot to you.
upload [raids/fractals]
(title)
(--time)
(--num x)
Uploads raid or fractal logs.
(Optional) Add a title to the post
(Optional) Include the killtime for each boss in the log post
(Optional) Upload the x most recent logs of each selected boss
shutdown Shuts down the bot. Recommended for when you are finished using the bot.

Preview

Caveats

  • Only the person booting up the bot may upload logs. You should be able to tell who the current user of the bot is by looking at the bot's activity status. It should say Current User: SOME_USER.
  • Due to no official updates from the new GW2Raidar team, uploading to GW2Raidar has been deprecated until further notice.
  • If you are encountering the issue where the bot is not responding to your commands, please try toggling the option in your bot Developer Portal to allow your bot to receive messages.

phtm-b0t's People

Contributors

aytiel avatar

Stargazers

Trace Miller avatar Michael avatar  avatar

Watchers

 avatar

phtm-b0t's Issues

Bot is not uploading

I'm not sure what the issue is at this point. I'm getting the following error in the bot script:

Ignoring exception in command upload: Traceback (most recent call last): File "C:\Users\Ryan\AppData\Local\Programs\Python\Python36\lib\site-packages\d iscord\ext\commands\core.py", line 62, in wrapped ret = await coro(*args, **kwargs) File "E:\Downloads\PHTM-b0t-master\PHTM-b0t-master\GW2LogBot\cogs\arcdps.py", line 103, in upload await ctx.message.delete() File "C:\Users\Ryan\AppData\Local\Programs\Python\Python36\lib\site-packages\d iscord\message.py", line 549, in delete await self._state.http.delete_message(self.channel.id, self.id) File "C:\Users\Ryan\AppData\Local\Programs\Python\Python36\lib\site-packages\d iscord\http.py", line 212, in request raise NotFound(r, data) discord.errors.NotFound: NOT FOUND (status code: 404): Unknown Message

And then just nothing happens.

Error Code: Bloodstone

Attempting to process logs gives me "Bloodstone" error message for every log.

I don't know Python at all, but it looks like it has no idea about the logs even existing so I'm assuming it's something to do with pathing issues.

The bot is currently stored in D:\Downloads\DiscReportBot\
My documents folder is also on D:\, so the log file path is D:\Documents\Guild Wars 2\addons\arcdps\arcdps.cbtlogs\
Note that my OS, W10 is on C:\

I've tried giving the bot a direct path to the logs incase it cannot locate the documents folder, replacing line 77 in arcdps.py to path = 'D:\Documents\Guild Wars 2\addons\arcdps\arcdps.cbtlogs\*' but the result is the same.
I've tried storing the bot on C:\ and again, no difference.

Also, please consider using actual error messages with descriptions, these themed error "codes" are just getting in the way at best.

Thanks.

dps.report Log Uploader

Implement the ability to upload and post dps.report logs within the Discord channel. Simplest solution.

GW2Raidar Log Uploader

Implement the ability to upload and post GW2Raidar logs within the Discord channel. Simplest solution.

Log Uploader Stylizing

Potentially organize the posted logs to be more aesthetically pleasing via embeds, etc.

Better Pathing

Implemented a better solution for users whose logs folders are not located in their user folders.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.