Giter Site home page Giter Site logo

pathofexilerpc's Introduction

PathOfExileRPC

Discord RPC Client for Path of exile

Shameless Donation Link Plug

As a college student i can only work on these fun projects in my free time, i would love if you can help me out! Buy Me a Coffee at ko-fi.com

How it works

  1. Get path of exile directory if game is running. (to keep this dependency free it uses a mix of ctypes, kernel32 and psapi to achieve this)
  2. If not, poll every 30s for game running
  3. Get path from getdir
  4. Poll Client.txt for events, events are as follows:
    • Login
    • Logout/Char selection
    • Area - Entering a new Area
  5. Depending on event:
    • Login: query character API for path of exile, fetch latest character level and ascendancy/class, update RPC
    • Logout: Update RPC as logged out
    • Area: Fetch map icon if map, update RPC

TODO:

  1. Create sysTray attachment for updates, balloon notifications, settings and accessible way to close a running process.

Using / Installing

Method 1 (Recommended)

  1. Head to the releases tab on the top / Alternatively access the latest release from here
  2. Download the latest release
  3. Run launcher.exe

Method 2

Setting this up is actually super easy, though be warned it at the moment prints out a lot of garbage debug stuff on the console.

  1. You need to have Python 3.6 (https://www.python.org/downloads/latest) While installing this make sure you tick these 2 Options.
    • Add python to PATH
    • py launcher
  2. download/clone the repo using the green button on the top right.
  3. To get it to work for your account, edit config.json with any text editor and replace xKynn with your account name.
  4. Double click setup.bat and then run.bat
    • If setup.bat errors with access denied, right click and run it as admin

Attributions

pathofexilerpc's People

Contributors

xkynn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pathofexilerpc's Issues

Error when launching.

Just downloaded and I'm getting the following error whenever I try to start the launcher:
poerpcerror

Doesn't show info about shaped maps

I don't know if this could be implemented, but when you enter a shaped (and I also guess the same happends for elder maps) it still mentions the map's base tier

Swap loc name and tier positions

Hey there,

Thanks so much for this, was hoping GGG would eventually implement it but thankfully you've got it covered.

Was just wondering if it'd be easy enough to swap around the name of loc and tier, so as to have the loc name in details and tier in small_text?

run.bat issue

when i run regular run i get:

`C:\Users\snail\Downloads\PathOfExileRPC-master>python launcher.py
Traceback (most recent call last):
File "C:\Users\snail\Downloads\PathOfExileRPC-master\launcher.py", line 13, in
from progressbar import ProgressBar, Percentage, RotatingMarker, ETA, FileTransferSpeed, Bar
ModuleNotFoundError: No module named 'progressbar'

C:\Users\snail\Downloads\PathOfExileRPC-master>pause
Press any key to continue . . .`

when i run as admin i get:

`C:\WINDOWS\system32>python launcher.py
python: can't open file 'C:\WINDOWS\system32\launcher.py': [Errno 2] No such file or directory

C:\WINDOWS\system32>pause
Press any key to continue . . .`

if i try to run via the launcher version i get :

INFO:__main__:Waiting for path of exile to launch... INFO:__main__:Found path of exile log at C:/Program Files (x86)/Grinding Gear Games/Path of Exile/logs/Client.txt INFO:__main__:Log monitor has started ERROR:asyncio:Task exception was never retrieved future: <Task finished coro=<PoeRPC.monitor_log() done, defined at C:\Users\demol\Documents\PathOfExileRPC\poeRPC.py:295> exception=ContentTypeError("0, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8'")> Traceback (most recent call last): File "C:\Users\demol\Documents\PathOfExileRPC\poeRPC.py", line 312, in monitor_log File "C:\Users\demol\Documents\PathOfExileRPC\poeRPC.py", line 259, in handle_log_event File "C:\Users\demol\Documents\PathOfExileRPC\poeRPC.py", line 97, in fetch_char File "C:\Users\demol\AppData\Local\Programs\Python\Python37\lib\site-packages\aiohttp\client_reqrep.py", line 1027, in json aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8'

ERROR: asyncio

Hello!

I got an error on both .exe and .bat about the asyncio so can't use it do you have an idea on how to fix it? :(
Im using python 3.10 is that bad?

ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-3' coro=<PoeRPC.monitor_log() done, defined at C:\Users*\Desktop\PathOfExileRPC-master\poeRPC.py:295> exception=ContentTypeError(RequestInfo(url=URL('https://www.pathofexile.com/character-window/get-characters?accountName=MikuArt'), method='GET', headers=<CIMultiDictProxy('Host': 'www.pathofexile.com', 'Accept': '/', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Python/3.10 aiohttp/3.8.1')>, real_url=URL('https://www.pathofexile.com/character-window/get-characters?accountName=MikuArt')), (), message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8', headers=<CIMultiDictProxy('Date': 'Sun, 06 Feb 2022 11:48:21 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'X-Frame-Options': 'SAMEORIGIN', 'Referrer-Policy': 'same-origin', 'Cache-Control': 'private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0', 'Expires': 'Thu, 01 Jan 1970 00:00:01 GMT', 'Expect-CT': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 'Vary': 'Accept-Encoding', 'Server': 'cloudflare', 'CF-RAY': '6d9426217d6aee58-CDG', 'Content-Encoding': 'gzip')>)>
Traceback (most recent call last):
File "C:\Users*
\Desktop\PathOfExileRPC-master\poeRPC.py", line 312, in monitor_log
await self.handle_log_event(log)
File "C:\Users*\Desktop\PathOfExileRPC-master\poeRPC.py", line 259, in handle_log_event
await self.fetch_char()
File "C:\Users*
\Desktop\PathOfExileRPC-master\poeRPC.py", line 97, in fetch_char
js = await resp.json()
File "C:\Users******\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client_reqrep.py", line 1103, in json
raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8', url=URL('https://www.pathofexile.com/character-window/get-characters?accountName=MikuArt')

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.