Giter Site home page Giter Site logo

marvinscham / disenchanter Goto Github PK

View Code? Open in Web Editor NEW
101.0 1.0 9.0 608 KB

A tool to mass disenchant champion shards and other League of Legends loot.

License: MIT License

Ruby 99.31% Shell 0.69%
disenchanter league-client league-of-legends ruby crafting hextech lcu

disenchanter's Introduction

Disenchanter

Patch Release Last Commit

Language License Downloads Translated

Stat Submissions Shards Disenchanted Blue Essence Gained Time Saved

Mass disenchant LoL loot like champion shards, eternals, mythic essence and more!

Usage

Download the pre-built disenchanter.exe from the Latest Release.

Start your League Client without admin privileges and log into your account, then start the script.

Details

The script is interactive and will guide you through the process with simple [y|n] questions and mode options. Before you disenchant or craft anything, you will be asked to confirm the action in a magenta colored message with a big CONFIRM: banner so don't be scared to explore the different options!

Once you're finished, you can optionally contribute your (anonymous) stats to the Global Stats. (Details)

Demo

Is this a virus?

TL;DR: No, but you will probably get a trojan alert. (Details)

Is this going to get me banned?

No, the script only uses official Riot APIs.

The script triggers the same server requests as you would in your League Client. It won't make you sit through any animations, though.

Features

  • Materials
    • Craft Mythic Essence to Skins or Blue/Orange Essence
    • Combine Key Fragments
    • Open keyless capsules
    • Upgrade Mastery Tokens efficiently
  • Champion Shards
    • Disenchant all
    • Keep one for champions you don't own yet
    • Keep enough (1/2) for champions you own mastery 6/7 tokens for
    • Keep enough (1/2) to fully master champions at least at mastery level x (select from 1 to 6)
    • Keep enough (1/2) to fully master all champions (only disenchant shards that have no possible use)
    • Keep one of each champion regardless of mastery
    • Manual exceptions
  • Disenchant various items
    • Eternals
    • Emotes
    • Ward Skins
    • Summoner Icons
    • Tacticians

Problems, Bugs and Feature Suggestions

Something isn't working properly or you'd like to see a feature that isn't yet supported?

  • Create an issue
  • (If you have no GitHub account) hit me up at dev[at]marvinscham.de
  • Open a pull request with your contribution.

Translation

You can help to make Disenchanter available in your language! More info here!

❤ Sponsors ❤

  • Ze Interrupter
  • tsunamihorseracing

Disclaimer

Disenchanter isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

disenchanter's People

Contributors

dependabot[bot] avatar marvinscham avatar nico12313 avatar pfuenzle avatar stacksharebot 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

disenchanter's Issues

Shorten Readme/Create Wiki

The readme has been growing in size and has become too long to be a quick overview. Some parts should be moved to the Wiki to solve this issue and to allow giving more insight into specifics.

Script not showing any options

Screenshot
image
Description (if necessary)
Script is in the league folder but doesnt work
It doesnt show any options
Version
1.5

Add dependency management

Up to date dependencies are important to keep the codebase clean and free of known exploitable vulnerabilities.

  • Create Gemfile with dependencies
  • Setup Dependabot

Event Tokens aren't found

Description (if necessary)
As of the Event Pass Rework in Patch 12.19, Event Tokens aren't detected and therefore can't be handled by Disenchanter.

Version
v1.5.0

Recommended defaults

I don't care how all the shards and essence and other minigame junk works, or if it's destructive. I also don't want to have to play the dischanter.exe minigame. I just want champions starting cheapest to most expensive taking into account what champion shards I have.

e.g. If I have a Jax shard that makes him the cheapest champ I can buy, and I have the blue essence, buy him. If I already own him, sell the shard. Buy all the cheapest champs I can afford.

This way I can fill out my champion roster as quickly as possible for stuff like ARAM and Urf.

Open Glorious Champion Capsules

So far only regular champion capsules are supported – the lootId for Glorious Champion Capsules needs to be added to support them.

No "keep shard for champions you don't own" option

Copied from email:

Hey! I just downloaded Disenchanter because I wanted to liquidate some champion shards, but theres no option to "keep a shard for champions you don't own" even though it says there is under the features list on Github.

Version
1.3.0

Upgrade Mastery Tokens efficiently

Is your feature request related to a problem? Please describe.
It can be annoying to check for the most efficient way to upgrade a champion to the next mastery level.

Describe the solution you'd like

  • Check for champion shard, if available, use
  • Check for champion permanent, if available, use
  • Use Blue Essence

Additional context
Depends on #12. Should count as redeem.

error when disenchanting champ shards, said to create a new issue

Screenshot

Big too big to screenshot, but i copied the log:

#<Thread:0x0000023b00aa9348 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa9258 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b008b3408 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa9528 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b008b2328 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa9ac8 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa99d8 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b008b0ac8 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa9708 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa98e8 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa9bb8 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x0000023b00aa9438 C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/Jeffrey/AppData/Local/Temp/ocr571E.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
An error occurred while handling Champion Shards.
Please take a screenshot and create an issue at https://github.com/marvinscham/disenchanter/issues/new
If you don't have a GitHub account, send it to [email protected]
Failed to open TCP connection to 127.0.0.1:51491 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout)
Skipping this step...

Description (if necessary)

Got this error when disenchanting a bunch of champion shards (245)

Version

1.5.0

it still attempts to disenchant champs with 0 mastery, i'm happy there's a manual exclusion feature

Script offers to downgrade itself

Screenshot
Unbenannt

Description
If version of currently running script is greater than the version of the latest release, the script will offer to downgrade itself.

Version
v1.3.2

Disenchant (duplicate) Eternals

Is your feature request related to a problem? Please describe.
Eternals can't be mass disenchanted yet.

Describe the solution you'd like
Another segment: if eternal loot is owned, ask to disenchant, if yes, ask to disenchant unowned as well.

Keep one champion shard each independent of mastery

Is your feature request related to a problem? Please describe.

Copied from Email:

Hey dude, i was looking to disenchant every champ shard until there is only 1 of each champ to keep a collection, independent of mastery

Token crafting efficiency

Description (if necessary)
Disenchanter will try to use a champion permanent to upgrade M6/M7 tokens even though it would be more efficient to use Essence (-2950) and disenchant the shard (+3150) instead for champions at 6300 BE like Briar or Smolder.

Version
v1.6.0

Can't disenchant BE icons

Description (if necessary)
Summoner icons that disenchant into Blue Essence (instead of the usual Orange Essence) such as Champie icons will silently fail to disenchant.

Version
1.5.0

Disenchants champion shards if you have zero mastery

Screenshot

Description (if necessary) I ran it using the option to only disenchant shards so i am able to get to level 7, aka "all shards that have no possible use" and it disenchanted all shards for champions i have zero mastery on, and said "below threshold"

Version 1.5

In-place self update

Is your feature request related to a problem? Please describe.
The application should be able to update itself.

Describe the solution you'd like
The latest release should overwrite the old script if the user chooses to update.

Describe alternatives you've considered
Current solution - manual download from releases page.

Multi-language support

Is your feature request related to a problem? Please describe.
It would be cool to have disenchanter available in different languages.

Describe the solution you'd like
The translation process could be incremental and community-driven. Auto-detecting the user's locale and auto-switching to its language would be useful.

Adjust menu order

Menu should be ordered like loot tab

  • Materials
  • Champions
  • Skins
  • ...

Stat review before submission

Is your feature request related to a problem? Please describe.
It's not possible to see what exactly is being transmitted to the stats server.

Describe the solution you'd like
Concise data review before submission confirmation

Handle Tacticians

Steps required for full implementation:

  • Get lootId
  • Check whether shards and permanents are distinguished
  • Disenchant handling

Disenchant (duplicate) Permanents

Is your feature request related to a problem? Please describe.
You can already disenchant shards but not yet permanents. Some things like Honor 5 Capsules drop permanents that might not be needed.

The same applies to (checked is implemented)

  • Champions
    • Mastery Upgrade #13
  • Skins
  • Ward Skins
  • Eternals
  • Tacticians? #19

This probably does not apply to summoner icons and emotes as they AFAIK only come as permanents.

Describe the solution you'd like
If permanents are owned, ask whether to disenchant them before asking about keeping those you don't own yet.

Additional context
Prefer keeping shards over permanents to maximize disenchant value.

App breaks when exceeding API limit

LCU seems to have undocumented request limits. The app should be able to detect when such a limit is exceeded (or the connection times out) and wait 5 seconds before trying again, finally failing if the third attempt does not work.

Api timed out whilst disenchanting champion shards

Hey there,

I was disenchanting champion shard and seemingly it timed out partway through it. It was a lot of shards so maybe I hit a limit on the API? It got through 309 / 366 shards before dying.

Ran it again straight after and it worked. I wasn't doing anything else at the time of running.

I don't mind if you just close this, only logging because you asked nicely in your error message :')

log
CONFIRM: Disenchant 366 champion shards for 192870 Blue Essence? [y|n]: y
#<Thread:0x000001a70e951008 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e950ea0 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e951968 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e951ad0 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e950d38 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e9514b8 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e951cb0 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e951bc0 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e951198 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e951328 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e6936b8 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e9505e0 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
An error occurred while handling Champion Shards.
Please take a screenshot and create an issue at https://github.com/marvinscham/disenchanter/issues/new
If you don't have a GitHub account, send it to [email protected]
Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout)
Skipping this step...
#<Thread:0x000001a70e9507e8 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e690198 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e950b80 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e9504a0 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e950338 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e950a68 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e950220 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
#<Thread:0x000001a70e693370 C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1086 run> terminated with exception (report_on_exception is true):
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:1001:in `rescue in connect': Failed to open TCP connection to 127.0.0.1:64985 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout) (Net::OpenTimeout)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:997:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'
C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:61:in `connect_internal': A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout (Errno::ETIMEDOUT)
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:137:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:642:in `block in tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `each'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:227:in `foreach'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/socket.rb:632:in `tcp'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:998:in `connect'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:976:in `do_start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:965:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/lib/ruby/3.1.0/net/http.rb:627:in `start'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:169:in `create_client'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:239:in `request_post'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:279:in `post_recipe'
        from C:/Users/sam/AppData/Local/Temp/ocr8520.tmp/src/disenchanter.rb:1087:in `block (2 levels) in handle_champions'

Add CI and tests

  • Set and enforce Rufo formatting rules
  • Rubocop Linting
  • Automated linting on commit
  • Split code into functional blocks
  • Create central script to aggregate the code parts
  • Add mock data
  • Add tests
  • Automate testing on commit
  • Add code quality badges

No League of legends folder

Screenshot

Description (if necessary)
Hi, i wanted to ask if this also works with riot client? Somehow i dont have a LOL folder anymore, only Riot Games/Riot Client and in there the Riot Client.exe
Version

Reroll Esports Emotes before Mass Disenchanting

Is your feature request related to a problem? Please describe.
There exists some emotes that come from Esports capsules that are disenchantable. However, they are rerollable, so if done manually, a person can reroll it into a disenchantable emote, then disenchant it.
image

Describe the solution you'd like
A check to see if emotes are not disenchantable and if so a prompt to reroll them.

Describe alternatives you've considered
No other way than to reroll them first.

Additional context
Sample emote data from the player-loot API:

    {
        "asset": "",
        "count": 1,
        "disenchantLootName": "",
        "disenchantValue": 0,
        "displayCategories": "EMOTE",
        "expiryTime": -1,
        "isNew": false,
        "isRental": false,
        "itemDesc": "Are You For Real?",
        "itemStatus": "OWNED",
        "localizedDescription": "",
        "localizedName": "",
        "localizedRecipeSubtitle": "",
        "localizedRecipeTitle": "",
        "lootId": "EMOTE_3928",
        "lootName": "EMOTE_3928",
        "parentItemStatus": "NONE",
        "parentStoreItemId": -1,
        "rarity": "DEFAULT",
        "redeemableStatus": "ALREADY_OWNED",
        "refId": "",
        "rentalGames": 0,
        "rentalSeconds": 0,
        "shadowPath": "",
        "splashPath": "/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes/Esports/Digital_Esports/EM_ARE_YOU_FOR_REAL_Inventory.ACCESSORIES_12_12.png",
        "storeItemId": 3928,
        "tags": "nodropoutput,norerolloutput",
        "tilePath": "/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes/Esports/Digital_Esports/EM_ARE_YOU_FOR_REAL_Inventory.ACCESSORIES_12_12.png",
        "type": "EMOTE",
        "upgradeEssenceName": "",
        "upgradeEssenceValue": 0,
        "upgradeLootName": "",
        "value": 350
    },
    {
        "asset": "",
        "count": 3,
        "disenchantLootName": "",
        "disenchantValue": 0,
        "displayCategories": "EMOTE",
        "expiryTime": -1,
        "isNew": false,
        "isRental": false,
        "itemDesc": "Speechless",
        "itemStatus": "OWNED",
        "localizedDescription": "",
        "localizedName": "",
        "localizedRecipeSubtitle": "",
        "localizedRecipeTitle": "",
        "lootId": "EMOTE_4028",
        "lootName": "EMOTE_4028",
        "parentItemStatus": "NONE",
        "parentStoreItemId": -1,
        "rarity": "DEFAULT",
        "redeemableStatus": "ALREADY_OWNED",
        "refId": "",
        "rentalGames": 0,
        "rentalSeconds": 0,
        "shadowPath": "",
        "splashPath": "/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes/Esports/Digital_Esports/EM_SPEECHLESS_Inventory.ACCESSORIES_12_19.png",
        "storeItemId": 4028,
        "tags": "nodropoutput,norerolloutput",
        "tilePath": "/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes/Esports/Digital_Esports/EM_SPEECHLESS_Inventory.ACCESSORIES_12_19.png",
        "type": "EMOTE",
        "upgradeEssenceName": "",
        "upgradeEssenceValue": 0,
        "upgradeLootName": "",
        "value": 350
    },
    {
        "asset": "",
        "count": 1,
        "disenchantLootName": "",
        "disenchantValue": 0,
        "displayCategories": "EMOTE",
        "expiryTime": -1,
        "isNew": false,
        "isRental": false,
        "itemDesc": "What can I do?",
        "itemStatus": "OWNED",
        "localizedDescription": "",
        "localizedName": "",
        "localizedRecipeSubtitle": "",
        "localizedRecipeTitle": "",
        "lootId": "EMOTE_4029",
        "lootName": "EMOTE_4029",
        "parentItemStatus": "NONE",
        "parentStoreItemId": -1,
        "rarity": "DEFAULT",
        "redeemableStatus": "ALREADY_OWNED",
        "refId": "",
        "rentalGames": 0,
        "rentalSeconds": 0,
        "shadowPath": "",
        "splashPath": "/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes/Esports/Digital_Esports/EM_WHAT_CAN_I_DO_Inventory.ACCESSORIES_12_19.png",
        "storeItemId": 4029,
        "tags": "nodropoutput,norerolloutput",
        "tilePath": "/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes/Esports/Digital_Esports/EM_WHAT_CAN_I_DO_Inventory.ACCESSORIES_12_19.png",
        "type": "EMOTE",
        "upgradeEssenceName": "",
        "upgradeEssenceValue": 0,
        "upgradeLootName": "",
        "value": 350
    },

To reroll using the API it's a call to /lol-loot/v1/recipes/EMOTE_forge/craft with the payload:

["{loot_name}"]

Example:

["EMOTE_1467"]

Error when opening Champion Capsule

Screenshot
Unbenannt

Description (if necessary)
Will open the capsule it crashes on and break there. Probably cannot read added blue essence value properly

  • Debug capsule opening to determine exact source
  • Fix implementation

Version
v1.5.0-beta

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.