Code Monkey home page Code Monkey logo

poe-trade-telegram-notifier's Introduction

PoE Trade Telegram Notifier

  • ๐Ÿ“ฑ Productivity. Every trade offer you receive is forwarded to you in Telegram
  • ๐Ÿ›ก๏ธ Safety. Application doesn't inject anything in Path of Exile, thus you won't be banned
  • ๐Ÿƒ Flexibility. You can reply to every trade offer via Telegram messenger just by replying to received message!

Demonstration video:

poe-trade-notifier-demo.mp4

Why

In Path of Exile, the absence of an auction-like mechanism complicates the trading system. It requires players to constantly monitor trade offers while being near their PC.

This application addresses a key issue: when players are away from their PC, such as browsing TikTok on the couch, they can receive whisper messages from PoE directly to their Telegram account.

This means a player can instantly view incoming trade offers without needing to return to their PC. Additionally, players can respond to these whispers directly through Telegram Messenger. This feature is particularly useful for avoiding interruptions, like being pulled away from TikTok for a low-value trade offer (every PoE player will agree that being distracted by 1c trading is an unproductive activity).

How it works

Application constantly observes log file of Path of Exile located in Path of Exile/logs/Client.txt. If there is Whisper message, it instantly forwards to Telegram Channel.

To get replies to messages in the Telegram Channel, application constantly polls Telegram API for getting updates of a bot.

How to install

Prerequisites

  1. System: Windows, MacOS not tested
  2. Python >= 3.8. You can download Python here: https://www.python.org/downloads/

Running application

  1. Open project directory and open terminal in this directory.
  2. Run the command to create venv:
    python -m venv .venv
  3. Activate the venv:
    .venv\Scripts\activate.bat
  4. Install project dependencies:
    pip install -r requirements.txt
  5. IMPORTANT: make sure you configured your config.ini (read section below) according to your prefs.
  6. Run the application:
    python main.py

Configuring config.ini

Required fields - mandatory for running the application

Field Type Required Description
TelegramBotId string Yes Create telegram bot which will notify you about all incoming whispers. You can use BotFather for creating one, it is simple stupid. Obtain created bot token. You can do that in the BotFather. The bot token usually have the following pattern: 181283218:BBFRF5r-2Q2fSofZV-wQOFXKX6UIsd_GTtl
TelegramUserId string Yes Obtain your telegram id. You can do that using GetMyId bot
LogPath string Yes Your Path of Exile logging directory. Typically, it is located in the steam/steamapps/Path of Exile/logs/Client.txt for Windows and in /Users/{username}/Library/Caches/com.GGG.PathOfExile/Logs/Client.txt for MacOS

Other fields

Field Type Required Description
ObserverCooldownSecs float No (default is 2.0) Interval between log reads. You can set it to lower value in order to get notifications as fast as it's possible (it is bound to our operating system)
TelegramPollingCooldownSecs float No (default is 1.0) Interval between requests to Telegram API for getting reply messages.

IMPORTANT: it is recommended to not override this variable, do that only if you know what are you doing.

Development

Future requests:

  • TBD: Filter for stashes
  • TBD: Filter for currency

poe-trade-telegram-notifier's People

Contributors

phen0menon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

poe-trade-telegram-notifier's Issues

Hello I am new and I need help

I have set up the config but I do not understand the next part.

after filling the config.ini with your values, run the Python process:

$ python3 main.py

Do I need to install Python and run the above command?

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.