command line interface to manage VALORANT skins

Overview

A PROPER RELEASE IS COMING SOON, IF YOU KNOW HOW TO USE PYTHON YOU CAN USE IT NOW!

valorant skin manager command line interface

simple command line interface to manage valorant skins w/ a skin randomizer

skin.cli.mp4

things left to do before v1 release

  • onboarding experience (set region, tutorial, etc)
  • config command
    • set refresh interval
    • set region
    • reset/regen skin inventory (coming in a future update after v1 probably)
  • loadout command should print each gun with its skin tier level color instead of all green
  • write docs

full documentation coming soon, but just install the packages in requirements.txt and run main.py

Commands

  • randomize - randomizes your skins manually (will still automatically happen after each match)
  • modify - modify the skins to be randomized (use arrow keys and enter to select)
  • set - manually set a skin
  • exit
Comments
  • json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

    json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

    Traceback (most recent call last):
      File "main.py", line 6, in <module>
        from src.cli.command_prompt import Prompt
      File "/mnt/e/Programs/gitrepos/valorant-skin-cli/src/cli/command_prompt.py", line 18, in <module>
        from .validator import Command_Validator
      File "/mnt/e/Programs/gitrepos/valorant-skin-cli/src/cli/validator.py", line 4, in <module>
        commands = Completer.generate_completer_dict()
      File "/mnt/e/Programs/gitrepos/valorant-skin-cli/src/cli/completer_generator.py", line 19, in generate_completer_dict
        skin_data = Loader.fetch_skin_data()
      File "/mnt/e/Programs/gitrepos/valorant-skin-cli/src/flair_loader/skin_loader.py", line 217, in fetch_skin_data
        return json.load(f)
      File "/usr/lib/python3.8/json/__init__.py", line 293, in load
        return loads(fp.read(),
      File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
        return _default_decoder.decode(s)
      File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode
        raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)
    
    opened by axsddlr 20
  • Skins are not getting detected and 'NoneType' object is not iterable

    Skins are not getting detected and 'NoneType' object is not iterable

    Running main.py has the program working fine, but when I select randomize I am told that

    Exception in thread Thread-2:
    Traceback (most recent call last):
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib\threading.py", line 954, in _bootstrap_inner
        self.run()
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib\threading.py", line 892, in run
        self._target(*self._args, **self._kwargs)
      File "F:\valorant-skin-cli-master\valorant-skin-cli-master\src\cli\command_prompt.py", line 52, in main_loop
        self.skin_manager.randomize_skins()
      File "F:\valorant-skin-cli-master\valorant-skin-cli-master\src\flair_management\skin_manager\skin_manager.py", line 90, in randomize_skins
        Randomize(self)
      File "F:\valorant-skin-cli-master\valorant-skin-cli-master\src\flair_management\skin_manager\randomizer.py", line 15, in __init__
        for weapon in loadout['Guns']:
    TypeError: 'NoneType' object is not iterable
    

    I have installed all packages in requirements.txt, and am running main.py. When I run main.py in the command prompt I am not getting the confirmation message that skins have been loaded, and when I check my skins I see that none of them have been detected. The json file in which skin data is stored is not getting updated and I believe this is the reason why skins are not getting detected.

    Python 3.9.5 and pip 21.1.3

    opened by adityas-31 6
  • IndexError: list index out of range

    IndexError: list index out of range

    Traceback (most recent call last):
      File "C:\Users\MyName\Downloads\valorant-skin-cli-master\valorant-skin-cli-master\main.py", line 50, in <module>
        Loader.generate_skin_data(client)
      File "C:\Users\MyName\Downloads\valorant-skin-cli-master\valorant-skin-cli-master\src\flair_loader\skin_loader.py", line 176, in generate_skin_data
        weapon_data["skins"][skin_uuid]["chromas"][list(weapon_data["skins"][skin_uuid]["chromas"].keys())[-1]]['enabled'] = True
    IndexError: list index out of range
    

    Using Python 3.9 if that helps, requirements installed without an issue.

    Not sure why I'm getting this error, not familiar enough with python to discern it.

    opened by ThatMusicBot 4
  • Updated README.MD

    Updated README.MD

    • Added FAQ and Current Features sections
    • Moved some sections around
    • Various formatting changes
    • Updated Getting Started section (formally Installation)

    Because Colin asked

    opened by Soneliem 3
  • Edge reports 1.1.0 release as containing a virus, preventing download

    Edge reports 1.1.0 release as containing a virus, preventing download

    No suggestion on the way forward for this one, not sure what's tripping it here.

    image

    winver: 20H2 19042.1110 Edge ver: 92.0.902.67 (Official build) (64-bit)

    help wanted good first issue 
    opened by PPatBoyd 3
  • Modified Levels for Melee level reset when relaunching CLI

    Modified Levels for Melee level reset when relaunching CLI

    I have the Prime 2.0 Karambit and I much prefer the level 1 base equip. When I

    • Modify/Melee/Prime 2.0/Level 2 disabled
    • Randomize This works properly

    But when relaunching Valorant/CLI, the level 2 animation for the skin get's re-enabled

    opened by RaySoyama 3
  • Setting Prime Karambit animation level.

    Setting Prime Karambit animation level.

    On the latest version (1.0.3), when using the set command into the console to change the Prime Karambit level, a bug occurs where It does not seem able to identify the level 1 animation as a valid command, I even pasted the exact command prior to this version without success.

    I'm not sure if it affects other melees or it's something specific to the Prime Karambit as it happens to be my only knife with 2 animations, but in version 1.0.2 it worked fine.

    opened by lucasvhol 3
  • [Feature Request] Skin / Buddy combos

    [Feature Request] Skin / Buddy combos

    I would love a way to tell the randomizer to change to a specific buddy / set of buddies when a skin is changed. ie if I get the purple Ruination Phantom, I want to be able to tell the randomizer to pick from a set of buddies that match that skin. Dimensional fragment, Reaver, or Soul Capsule.

    Could look something like this in the modify menu [EXC] Ruination Phantom (4 levels, 2 chromas, 3 buddies)

    enhancement 
    opened by Lorphex 2
  • When using

    When using "enable all skins/chromas" in the modify setting, the changes do not save

    I added a video of the bug occurring.

    The settings to "Enable all skins/chromas" doesn't save properly

    https://user-images.githubusercontent.com/42445829/131595601-f74cd92a-7f7c-40de-81be-5d3e642a4111.mov

    completed and testing 
    opened by RaySoyama 2
  • Invalid Region (NA)

    Invalid Region (NA)

    the program encountered an error; please create an issue with the traceback below if this problem persists Traceback (most recent call last): File "main.py", line 28, in <module> File "src\startup.py", line 44, in run File "valclient\client.py", line 56, in __init__ ValueError: Invalid region, valid regions are: ['na', 'eu', 'latam', 'br', 'ap', 'kr', 'pbe'] press enter to exit...

    Ever since updating to v1.2.0 I've been getting this error on the first launch. I don't have a chance to manually select my region. This message is the first thing I see.

    bug 
    opened by Lorphex 2
  • [Design]

    [Design] "randomize" command randomizes both skins and buddies, even though buddy_randomizer disabled in config

    I'm not sure if this is intended behavior, since personally speaking, I'm only using the skin-cli for the skins, not the buddies.

    I would hope running "randomize" only randomizes skins, and then if you add a parameter such as "all", or "buddies", it will randomize those.

    Having the default randomize behavior be only skins for 9 releases, only for it to change is jarring.

    Also whats does the "buddy_randomizer" bool do?

    enhancement 
    opened by RaySoyama 2
  • Skin levels not working

    Skin levels not working

    This happens a lot, for example the elderflame vandal in the skin shuffle it usually sets the vfx level to 2 instead of level 4. This happens with my oni phantom and my g.u.n spectre. This doesn't happen with my rgx vandal and both ruination phantom and spectre. I just got the glitchpop vandal so im hoping it doesn't do the same /:

    opened by amatsu666 0
  • Not an issue, just a question

    Not an issue, just a question

    Are you able to link buddies with skins? I have a red classic skin that i want a red buddy connected to, but a green skin i eant a green buddy connected to. If this isnt possible I think it would be a great addition!

    enhancement 
    opened by ReddHoodie 1
Releases(v1.2.3)
  • v1.2.3(Jan 28, 2022)

    Discord

    Changelog

    • added new config option
      • skin_randomizer > prevent_repeats: prevents getting the same skin multiple times in a row if more than one skin is enabled for the weapon
    • made randomize command clearer (#48)
      • randomize will only randomize skins if config > skin_randomizer > enabled is true, same with buddies (config > buddy_randomizer > enabled)
        • can override this with randomize skins or randomize buddies

    if you encounter any bugs, create an issue if you have suggestions or want to contribute, open a pull request

    read the wiki!

    Full Changelog: https://github.com/colinhartigan/valorant-skin-cli/compare/v1.2.2...v1.2.3

    Source code(tar.gz)
    Source code(zip)
    valorant-skin-cli.exe(11.84 MB)
  • v1.2.2(Sep 11, 2021)

    Discord

    Changelog

    • fixed bug where buddy randomizer wouldn't work if you don't have enough buddies for each gun
    • buddy randomizer will now randomize all your buddies until you don't have any more to apply to a weapon
      • there was a bug where it wouldn't work at all if you don't have enough buddies for each weapon
    • fixed bug where you couldn't enable/disable all skins for melee (#53)
    • fixed bug where having a duplicate of a spray equipped would cause the app to crash when running loadout

    if you encounter any bugs, create an issue if you have suggestions or want to contribute, open a pull request

    read the wiki!

    Source code(tar.gz)
    Source code(zip)
    valorant-skin-cli.exe(11.81 MB)
  • v1.2.1(Sep 2, 2021)

    Discord

    Changelog

    • fixed the bug where randomizer pool preferences wouldn't save when using the enable/disable all skins/chromas option
    • onboarding improvements
      • now prompts user asking if they want to use skin/buddy randomizer (this can be changed later in `config > skin_randomizer/buddy_randomizer)
      • if user owns upgraded prime karambit, they will get a prompt asking if they want to downgrade and equip it

    if you encounter any bugs, create an issue if you have suggestions or want to contribute, open a pull request

    read the wiki!

    Source code(tar.gz)
    Source code(zip)
    valorant-skin-cli.exe(11.80 MB)
  • v1.2.0(Aug 19, 2021)

    Discord

    Changelog

    • buddy randomizer
      • randomizes buddy for each gun
      • currently cant change which buddies are in the pool from the cli (coming soon™)
      • can enable/disable with config > buddy_randomizer > enabled
    • changed setting to enable/disable skin randomizer to config > skin_randomizer > enabled
    • randomize command has different functionality
      • run randomize to randomize both skins and buddies
      • run randomize skins to only randomize skins
      • run randomize buddies to only randomize buddies
    • skin randomizer weights
      • run weights to modify each skin's weight per weapon, weights can be set to an arbitrary scale and if they are equal, the probability is equal
        • ex. setting weights to 5, 5, and 500 for 3 skins for a weapon would result in a .9%, .9%, and 98% chance for each skin to be selected, respectively
      • weights are set to 1 by default for equal probability
      • weapons will only appear in this menu if they have more than 1 skin in the randomizer pool
    • refactored some of the code for the randomizer/weights modification menus for efficiency

    if you encounter any bugs, create an issue if you have suggestions or want to contribute, open a pull request

    read the wiki!

    Source code(tar.gz)
    Source code(zip)
    valorant-skin-cli.exe(11.80 MB)
  • v1.1.0(Jul 31, 2021)

    Discord

    Changelog

    • fixed region autodetecting sometimes not working
    • fixed behavior where skincli would force the highest level to be enabled in randomizer pool (#36) on startup
    • improved loadout print to show buddy/level/chroma and changed text colors to match content tiers
    • loadouts!
      • loadout: show currently equipped loadout
        • if your loadout looks weird expand the window horizontally https://streamable.com/y8ym8g
      • loadout create: create a loadout
      • loadout equip [loadoutname]: equip a loadout
      • loadout preview [loadoutname]: preview a loadout
      • loadout delete [loadoutname]: delete a loadout
      • might want to disable the randomizer so your skins don't get randomized each game while you're using a loadout (config > skin_manager > randomize_after_each_game)
    • added confirmation when resetting

    if you encounter any bugs, create an issue if you have suggestions or want to contribute, open a pull request

    read the wiki!

    Source code(tar.gz)
    Source code(zip)
    valorant-skin-cli.exe(11.51 MB)
  • v1.0.7(Jul 22, 2021)

  • v1.0.6(Jul 19, 2021)

  • v1.0.5(Jul 18, 2021)

  • v1.0.4(Jul 13, 2021)

  • v1.0.3(Jul 11, 2021)

  • v1.0.2(Jul 11, 2021)

  • v1.0.1(Jul 9, 2021)

  • v1.0(Jul 6, 2021)

Owner
colinh
17 y/o full-stack developer
colinh
Limit your docker image size with a simple CLI command. Perfect to be used inside your CI process.

docker-image-size-limit Limit your docker image size with a simple CLI command. Perfect to be used inside your CI process. Read the announcing post. I

wemake.services 102 Dec 14, 2022
Aurornis - The Command Line Program Test Helper

Aurornis - The Command Line Program Test Helper Aurornis is a small, yet powerful library designed to help testing command line programs. The name is

Jérôme Deuchnord 1 Mar 08, 2022
Command line tool for interacting and testing warehouse components

Warehouse debug CLI Example usage for Zumo debugging See all messages queued and handled. Enable by compiling the zumo-controller with -DDEBUG_MODE_EN

1 Jan 03, 2022
Kubernetes shell: An integrated shell for working with the Kubernetes

kube-shell Kube-shell: An integrated shell for working with the Kubernetes CLI Under the hood kube-shell still calls kubectl. Kube-shell aims to provi

CloudNative Labs 2.2k Jan 08, 2023
A lightweight Python module and command-line tool for generating NATO APP-6(D) compliant military symbols from both ID codes and natural language names

Python military symbols This is a lightweight Python module, including a command-line script, to generate NATO APP-6(D) compliant military symbol icon

Nick Royer 5 Dec 27, 2022
Conditional Transformer Language Model for Controllable Generation

CTRL - A Conditional Transformer Language Model for Controllable Generation Authors: Nitish Shirish Keskar, Bryan McCann, Lav Varshney, Caiming Xiong,

Salesforce 1.7k Jan 05, 2023
A Hikari command handler for people who love ducks.

duckari A Hikari command handler made with love by ducks. Currently Duckari is work in progress. Documentation is WIP. The wiki is no longer used as d

2 Oct 09, 2022
Gamestonk Terminal is an awesome stock and crypto market terminal

Gamestonk Terminal is an awesome stock and crypto market terminal. A FOSS alternative to Bloomberg Terminal.

Gamestonk Terminal 18.6k Jan 03, 2023
This is a CLI utility that allows you to view RedFlagDeals.com on the command line.

RFD Description Motivation Installation Usage View Hot Deals View and Sort Hot Deals Search Advanced View Posts Shell Completion bash zsh Description

Dave G 8 Nov 29, 2022
Make tree planting a part of your daily workflow. 🌳

Continuous Reforestation Make tree planting a part of your daily workflow. 🌳 A GitHub Action for planting trees within your development workflow usin

protontypes 168 Dec 22, 2022
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 02, 2023
jenkins-tui is a terminal based user interface for Jenkins.

jenkins-tui 📦 jenkins-tui is a terminal based user interface for Jenkins. 🚧 ⚠️ This app is a prototype and in very early stages of development. Ther

Craig Gumbley 22 Oct 24, 2022
A simple command line virtual operating system, written in python

Virtual operating system A simple virtual operating system written in python. (Under development). Currently, the following commands are supported: Co

B.Jothin kumar 7 Nov 15, 2022
A CLI based task manager tool which helps you track your daily task and activity.

CLI based task manager tool This is the simple CLI tool can be helpful in increasing your productivity. More like your todolist. It uses Postgresql as

ritik 1 Jan 19, 2022
ghfetch is ai customizable CLI GitHub personal README generator.

ghfetch is ai customizable CLI GitHub personal README generator. Inspired by famous fetch such as screenfetch, neofetch and ufetch, the purpose of this tool is to introduce yourself as if you were a

Alessio Celentano 3 Sep 10, 2021
Oil is a new Unix shell. It's our upgrade path from bash to a better language and runtime

Oil is a new Unix shell. It's our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!

2.4k Jan 08, 2023
Sebuah tools agar tydak menjadi sider :v vrohh

Sebuah tools agar tydak menjadi sider :v vrohh

xN7-SEVEN 1 Mar 27, 2022
PyWordle: A Python-made wordle manual solver

PyWordle: A Python-made wordle manual solver How to use it Start the program with python3 pywordlesolver.py. How it works The program has a simple 5-l

Federico Torrielli 5 Nov 24, 2022
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.

Interactive Redis: A Cli for Redis with AutoCompletion and Syntax Highlighting. IRedis is a terminal client for redis with auto-completion and syntax

2.2k Dec 29, 2022
A command line tool to create a graph representing your Ansible playbook tasks and roles

Ansible Playbook Grapher ansible-playbook-grapher is a command line tool to create a graph representing your Ansible playbook plays, tasks and roles.

Mohamed El Mouctar Haidara 424 Dec 20, 2022