Giter Site home page Giter Site logo

wowastralkeys's Introduction

WoWAstralKeys

Export a table of your World of Warcraft characters' Mythic Keystones from Astral Keys addon.

Description

The WoWAstralKeys script will check your World of Warcraft install folder and read the AstralKeys SavedVariables files for all accounts and then output them to the screen.

You can also use options to output the data to a CSV or a JSON file, or sanitize specific features such as removing server name, or hiding the names of the characters.

Use this script to dump all your keys so you can easily share with your friends!

Installation

No installation is required. Just clone this repository.

Requirements

This script should be able to run in either PowerShell Desktop 3.0 or newer, or PowerShell Core. It has been tested on Desktop 5.1.19041.1320 and Core 7.2.1.

Currently, this requires Lua to be installed. If it is in your path, it will be found this script. If not, it will ask you where the Lua executable is located.

You can download Lua from here: http://luabinaries.sourceforge.net/download.html

You also must use the Astral Keys addon in order to keep track of your mythic keys in-game. The SavedVariables files get updated upon character logoff. As long as you exit to the character selection screen, your SVs should be updated.

Get the Astral Keys addon! (CurseForge · Github)

Usage

PS> .\WoWAstralKeys.ps1 | Format-Table

Name                   Faction  Class        Dungeon            Level WeeklyBest
----                   -------  -----        -------            ----- ----------
Character1-Server1     Alliance Demon Hunter De Other Side         17         15
Character2-Server1     Alliance Paladin      Halls of Atonement    16         15
Character3-Server1     Alliance Warrior      No key                 0          0
Character4-Server2     Alliance Monk         Plaguefall            10          7
Character5-Server2     Alliance Hunter       Theater of Pain       15          0
Character6-Server3     Horde    Mage         Theater of Pain       10          0
Character7-Server3     Horde    Paladin      No key                 0          0
PS> .\WoWAstralKeys.ps1 -Faction Horde | Format-Table

Name                   Faction  Class        Dungeon            Level WeeklyBest
----                   -------  -----        -------            ----- ----------
Character6-Server3     Horde    Mage         Theater of Pain       10          0
Character7-Server3     Horde    Paladin      No key                 0          0
PS> .\WoWAstralKeys.ps1 -FilterNoKeys | Format-Table

Name                   Faction  Class        Dungeon            Level WeeklyBest
----                   -------  -----        -------            ----- ----------
Character1-Server1     Alliance Demon Hunter De Other Side         17         15
Character2-Server1     Alliance Paladin      Halls of Atonement    16         15
Character4-Server2     Alliance Monk         Plaguefall            10          7
Character5-Server2     Alliance Hunter       Theater of Pain       15          0
Character6-Server3     Horde    Mage         Theater of Pain       10          0
PS> .\WoWAstralKeys.ps1 -NoServer | Format-Table

Name           Faction  Class        Dungeon            Level WeeklyBest
----           -------  -----        -------            ----- ----------
Character1     Alliance Demon Hunter De Other Side         17         15
Character2     Alliance Paladin      Halls of Atonement    16         15
Character3     Alliance Warrior      No key                 0          0
Character4     Alliance Monk         Plaguefall            10          7
Character5     Alliance Hunter       Theater of Pain       15          0
Character6     Horde    Mage         Theater of Pain       10          0
Character7     Horde    Paladin      No key                 0          0
PS> .\WoWAstralKeys.ps1 -Anonymous | Format-Table

Faction  Class        Dungeon            Level WeeklyBest
-------  -----        -------            ----- ----------
Alliance Demon Hunter De Other Side         17         15
Alliance Paladin      Halls of Atonement    16         15
Alliance Warrior      No key                 0          0
Alliance Monk         Plaguefall            10          7
Alliance Hunter       Theater of Pain       15          0
Horde    Mage         Theater of Pain       10          0
Horde    Paladin      No key                 0          0

Roadmap Items

  • An option to filter on specific WoW accounts (currently reports all accounts)

Author

RavenDT

License

MIT License

External Libraries

Simple JSON Encode/Decode in Pure Lua — Version 20211016.28 (http://regex.info/blog/lua/json)

Copyright 2010-2017 Jeffrey Friedl. All rights reserved. Creative Commons CC-BY "Attribution" License.

wowastralkeys's People

Contributors

ravendt avatar

Watchers

 avatar

wowastralkeys's Issues

Fix Output format so options are case-insensitive

Currently:

if ($OutputFormat) {
    switch ($OutputFormat) {
        CSV  {
            $OutputString = $MyKeys |
                Select-Object -Property Name,Faction,Class,Dungeon,Level,WeeklyBest |
                ConvertTo-Csv -NoTypeInformation
        }
        JSON { $OutputString = $MyKeys | ConvertTo-Json }
    }

    $OutputString | Set-Content -Encoding utf8 $Path

No error checking for characters that haven't received keys

PS> .\WoWAstralKeys.ps1
InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:248
Line |
 248 |              if (!$MyKeyData[$Item.unit]) { $MyKeyData[$Item.unit] = @ …
     |                  ~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.

InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:249
Line |
 249 |              $MyKeyData[$Item.unit].Name = $Item.unit
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.

InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:250
Line |
 250 |              $MyKeyData[$Item.unit].Class = $CLASS[$Item.class]
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.

InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:251
Line |
 251 |              $MyKeyData[$Item.unit].Faction = $FACTION_."$($Item.facti
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.

InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:252
Line |
 252 |              $MyKeyData[$Item.unit].Dungeon = 'No key'
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.

InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:253
Line |
 253 |              $MyKeyData[$Item.unit].Level = 0
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.

InvalidOperation: C:\Users\raven\dev\WoWAstralKeys\WoWAstralKeys.ps1:254
Line |
 254 |              $MyKeyData[$Item.unit].WeeklyBest = $Item.weekly_best
     |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Index operation failed; the array index evaluated to null.


Name                  Faction  Class  Dungeon            Level WeeklyBest
----                  -------  -----  -------            ----- ----------
Character-Server      Alliance Hunter Halls of Atonement    15          0
 

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.