Coder Social home page Coder Social logo

poe-log-monitor's Introduction

Forked klayveR/poe-log-monitor

poe-log-monitor

NPM version NPM Downloads NPM License Codacy Badge

Contents

Getting Started

Install with npm:

$ npm install poe-log-monitor

Usage:

var PathOfExileLog = require("poe-log-monitor");

var poeLog = new PathOfExileLog({
    logfile: "C:/Program Files (x86)/Grinding Gear Games/Path of Exile/logs/Client.txt"
});

poeLog.on("message", (message) => {
    console.log("(" + message.chat + ") " + message.player.name + ": " + message.message);
});

Methods

Constructor([options])

  • options - An optional object containing some of the following options
    • logfile - The path to Path of Exile's Client.txt
      • default: C:/Program Files (x86)/Grinding Gear Games/Path of Exile/logs/Client.txt
    • interval - The interval, in milliseconds, to check for changes in the log file
      • default: 1000

Constructs a new PathOfExileLog. If the path to the log file is valid, the script will automatically start monitoring it. You can pause or resume monitoring using the pause() or start() method respectively.

pause()

Pauses monitoring the logfile.

start()

Resumes monitoring the logfile.

parseLog()

Parses the full logfile.

Events

The parameters listed below each event are stored in an object emitted by the event.

login

  • server - The gateway the player logged into
  • latency - The time, in milliseconds, it took to log in

Emitted when the player logs into the game.

instanceServer

  • address - Instance server the player connected to

Emitted when the player changes the instance server. This can be useful for determining whether a player enters an area instance the player previously entered, or a newly created one.

area

  • name - The name of the area that has been entered
  • type - The type of the area
  • info - An array of objects containing additional information about the area and their variants, if data is available. The emitted object has a different format based on the type.

Emitted when the player enters an area. See AREA.md for more information about this event.

areaJoin

  • player
    • name - Name of the player who joined the area

Emitted when another player enters the area the player is in.

areaLeave

  • player
    • name - Name of the player who joined the area

Emitted when another player leaves the area the player is in.

joinChat

  • chat - Chat which the player joined
  • channel - Channel the player joined
  • language - Language of the channel

Emitted when the player joins a chat channel.

message

  • chat - Chat in which the message appeared
    • Possible values: global, trade, guild, party, local
  • player
    • guild - Guild tag of the player who sent the message, if present
    • name - Name of the player who sent the message
  • message - Message the player sent

Emitted when a message appears in any of the active chat channels.

whisper

  • direction - Direction of the whispered message
    • Possible values: To, From
  • player
    • guild - Guild tag of the player who sent the whisper, if present
    • name - Name of the player who sent the whisper
  • message - Message the player sent

Emitted when a whisper is received or sent.

death

  • name - Name of the player that died

Emitted when the player dies.

level

  • name - Name of the player
  • characterClass - Character class of the player
  • level - Level of the player after level up

Emitted when the player levels up.

trade

  • accepted - true if the player accepted the trade

Emitted when the player finishes a trade.

npcEncounter

  • name - Name of the NPC
  • message - Dialogue of the NPC

Emitted when when the player encounters a talking NPC in the wild.

Output Dialogue To Game must be activated in the game UI options for this to work.

⚠ The list of supported NPCs is currently incomplete. Feel free to add NPCs that a player might encounter in the wild to the resource/npc.json file.

masterEncounter

  • name - Name of the Master
  • message - Dialogue of the Master

Emitted when the player encounters a master in an area.

Output Dialogue To Game must be activated in the game UI options for this to work

afk

  • status - true if the player is AFK
  • autoreply - The auto reply set by the player

Emitted when the players AFK status changes.

dnd

  • status - true if the player enabled DND mode
  • autoreply - The auto reply set by the player

Emitted when the players changes their DND mode status.

deaths

  • deaths - Times the player died

Emitted when the player uses the /deaths command in game.

remaining

  • monsters - The amount of remaining monsters in an area

Emitted when the player uses the /remaining command in game.

age

  • days - Days since the character has been created
  • hours - Hours since the character has been created
  • minutes - Minutes since the character has been created
  • seconds - Seconds since the character has been created

Emitted when the player uses the /age command in game.

played

  • days - Days spent playing the character
  • hours - Hours spent playing the character
  • minutes - Minutes spent playing the character
  • seconds - Seconds spent playing the character

Emitted when the player uses the /played command in game.

start

Emitted when the script resumes monitoring the log file. This event emits no additional data.

pause

Emitted when the script pauses monitoring the log file. This event emits no additional data.

poe-log-monitor's People

Contributors

dependabot[bot] avatar klayver avatar petterannerwall avatar undg 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

poe-log-monitor's Issues

Always-tail2 Dependency fails npm audit

Duplicate issue of #6

Root cause: Debug security issue: debug-js/debug#501

Always-tail2 issue: azilber/always-tail2#2 has the following issue open

Worth noting that recent additions to node-tail might make always-tail2 obsolete.
https://github.com/lucagrulla/node-tail has newer releases since then.
lucagrulla/node-tail#104 fixed in version 2.0.4.

Ran across this when trying to clean up npm audit issues in https://github.com/viktorgullmark/exilence-next . I will be making an issue there waiting on this change.

I believe this issue will require an npm package release.

Possible Solution:
I know develop does not use always-tail2. I think a smaller than tail-stream change in develop might be switching from always-tail2 to a newer version of node-tail (just tail) with correct options.

PoeLogMonitorAuditIssue

Security issue:

always-tail2 has an insecure dependency.

Would you like me to resolve this?

I really appreciate the work you have done in this project.

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.