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
A simple command line tool written in python to manage a to-do list

A simple command line tool written in python to manage a to-do list Dependencies: python Commands: todolist (-a | --add) [(-p | --priority)] [(-l | --

edwloef 0 Nov 2, 2021
A supercharged AWS command line interface (CLI).

SAWS Motivation AWS CLI Although the AWS CLI is a great resource to manage your AWS-powered services, it's tough to remember usage of: 70+ top-level c

Donne Martin 5.1k Jan 5, 2023
Command line interface for testing internet bandwidth using speedtest.net

speedtest-cli Command line interface for testing internet bandwidth using speedtest.net Versions speedtest-cli works with Python 2.4-3.7 Installation

Matt Martz 12.4k Jan 8, 2023
Universal Command Line Interface for Amazon Web Services

This package provides a unified command line interface to Amazon Web Services.

Amazon Web Services 13.3k Jan 7, 2023
Microsoft Azure CLI - Azure Command-Line Interface

A great cloud needs great tools; we're excited to introduce Azure CLI, our next generation multi-platform command line experience for Azure.

Microsoft Azure 3.4k Dec 30, 2022
flora-dev-cli (fd-cli) is command line interface software to interact with flora blockchain.

Install git clone https://github.com/Flora-Network/fd-cli.git cd fd-cli python3 -m venv venv source venv/bin/activate pip install -e . --extra-index-u

null 14 Sep 11, 2022
A command line interface to buy things in stregsystemet

Stregsystemet-CLI This repository is the Stregsystemet CLI, to buy things in Stregsystemet, at AAU. Use of this cli-tool is at your own risk and there

F-klubben 14 Oct 18, 2022
moviepy-cli: Command line interface for MoviePy.

Moviepy-cli is designed to apply several video editing in a single command with Moviepy as an alternative to Video-cli.

Kentaro Wada 23 Jun 29, 2022
Command line interface for unasync

CLI for unasync Command line interface for unasync Getting started Install Run the following command to install the package with pip: pip install unas

Leynier Gutiérrez González 3 Apr 4, 2022
Rover is a command line interface application that allows through browse through mission data, images, metadata from the NASA Official Website

?? rover Rover is a command line interface application that allows through browse through mission data, images, metadata from the NASA Official Websit

Saketha Ramanjam 4 Jan 19, 2022
bsp_tool provides a Command Line Interface for analysing .bsp files

bsp_tool Python library for analysing .bsp files bsp_tool provides a Command Line Interface for analysing .bsp files Current development is focused on

Jared Ketterer 64 Dec 28, 2022
Investing library and command-line interface inspired by the Bogleheads philosophy

Lakshmi (Screenshot of the lak command in action) Background This project is inspired by Bogleheads forum. Bogleheads focus on a simple but powerful p

Sarvjeet Singh 108 Dec 26, 2022
⚙ A lightweight command line interface library for creating commands.

⚙ A lightweight command line interface library for creating cli commands. About | Installation | Usage | Features | Contributors | License About Next:

Serum 16 Sep 25, 2022
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 3, 2023
A minimal and ridiculously good looking command-line-interface toolkit.

Pyceo Pyceo is a Python package for creating beautiful, composable, and ridiculously good looking command-line-user-interfaces without having to write

Juan-Pablo Scaletti 21 Mar 25, 2022
Quo is a Python based toolkit for writing Command-Line Interface(CLI) applications.

Quo is a Python based toolkit for writing Command-Line Interface(CLI) applications. Quo is making headway towards composing speedy and orderly CLI applications while forestalling any disappointments brought about by the failure to execute a CLI API. Simple to code, easy to learn, and does not come with needless baggage.

Secretum Inc. 16 Oct 15, 2022
The command line interface for Gradient - Gradient is an an end-to-end MLOps platform

Gradient CLI Get started: Create Account • Install CLI • Tutorials • Docs Resources: Website • Blog • Support • Contact Sales Gradient is an an end-to

Paperspace 58 Dec 6, 2022
Program Command Line Interface (CLI) Sederhana: Pemesanan Nasi Goreng Hekel

Program ini merupakan aplikasi yang berjalan di dalam command line (terminal). Program ini menggunakan built-in library python yaitu argparse yang dapat menerima parameter saat program ini dijalankan melalui terminal atau CLI.

Habib Abdurrasyid 5 Nov 19, 2021
A command line interface to interact with the Hypixel api allowing the user to get stats, leaderboards, etc

HyConsole is a way to get data on players and leaderboards from the Hypixel Minecraft server from the command line. Keep in mind I have no a

null 1 Feb 14, 2022