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
Command Line For Truecaller Written In Python

Truecaller-CLI Command Line Version For Truecaller Written In Python Never Login With A Number Over And Over Or It Will Be Banned Because Program Is S

Sandaru Ashen Fernando 16 Nov 08, 2022
A dashboard for your Terminal written in the Python 3 language,

termDash is a handy little program, written in the Python 3 language, and is a small little dashboard for your terminal, designed to be a utility to help people, as well as helping new users get used

Rebecca White 2 Dec 03, 2021
Detect secret in source code, scan your repo for leaks. Find secrets with GitGuardian and prevent leaked credentials. GitGuardian is an automated secrets detection & remediation service.

GitGuardian Shield: protect your secrets with GitGuardian GitGuardian shield (ggshield) is a CLI application that runs in your local environment or in

GitGuardian 1.2k Jan 06, 2023
This is the public repo for the VS Code Extension AT&T i386/IA32 UIUC-ECE391 Syntax Highlighting

AT&T i386 IA32 UIUC ECE391 GCC Highlighter & Snippet & Linter This is the VS Code Extension for UIUC ECE 391, MIT 6.828, and all other AT&T-based i386

Jackgetup 1 Feb 05, 2022
Fylm is a wonderful automated command line app for organizing your film media.

Overview Fylm is a wonderful automated command line app for organizing your film media. You can pronounce it Film or File 'em, whichever you like! It

Brandon Shelley 30 Dec 05, 2022
PyArmor is a command line tool used to obfuscate python scripts

PyArmor is a command line tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

Dashingsoft 2k Jan 07, 2023
Modern line-oriented terminal emulator without support for TUIs.

Modern line-oriented terminal emulator without support for TUIs.

10 Jun 12, 2022
lfb (light file browser) is a terminal file browser

lfb (light file browser) is a terminal file browser. The whole program is a mess as of now. In the feature I will remove the need for external dependencies, tidy up the code, make an actual readme, a

2 Apr 09, 2022
This is my fetch, with ascii arts from neofetch and internet

deadfetch This is my fetch, with ascii arts from neofetch and internet Installation First what you need its python Fedora sudo dnf install python3 sud

DedSec 8 Jan 20, 2022
Autosub - Command-line utility for auto-generating subtitles for any video file

Auto-generated subtitles for any video Autosub is a utility for automatic speech recognition and subtitle generation. It takes a video or an a

Anastasis Germanidis 3.9k Jan 05, 2023
spid-sp-test is a SAML2 SPID/CIE Service Provider validation tool that can be executed from the command line.

spid-sp-test spid-sp-test is a SAML2 SPID/CIE Service Provider validation tool that can be executed from the command line. This tool was born by separ

Developers Italia 30 Nov 08, 2022
Container images for portable development environments

Docker Dev Spin up a container to develop from anywhere! To run, just: docker run -ti aghost7/nodejs-dev:boron tmux new Alternatively, if on Linux: p

Jonathan Boudreau 163 Dec 22, 2022
eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

Command line utilities for tabular data files This is a set of command line utilities for manipulating large tabular data files. Files of numeric and

eBay 1.4k Jan 09, 2023
Linux commands Interpreter for Windows and Mac based systems using Python

DBHTermEcIbP Linux commands Interpreter for Windows and Mac based systems using Python Basic Linux commands supported viewing current working director

Vraj Patel 1 Dec 26, 2021
Python CLI for accessing CSCI320 PDM Database

p320_14 Python CLI for accessing CSCI320 PDM Database Authors: Aidan Mellin Dan Skigen Jacob Auger Kyle Baptiste Before running the application for th

Aidan Mellin 1 Nov 23, 2021
Regis-ltmpt-auto - Program register ltmpt 2022 automatis

LTMPT Register Otomatis 2022 Program register ltmpt 2022 automatis dibuat untuk

1 Jan 13, 2022
Tmux Based Dropdown Dashboard For Python

sextans It's a private configuration and an ongoing experiment while I use Archlinux. A simple drop down dashboard based on tmux. It includes followin

秋葉 4 Dec 22, 2021
Pymongo based CLI client, to run operation on existing databases and collections

Mongodb-Operations-Console Pymongo based CLI client, to run operation on existing databases and collections Program developed by Gustavo Wydler Azuaga

Gus 1 Dec 01, 2021
a-shell: A terminal for iOS, with multiple windows

a-shell: A terminal for iOS, with multiple windows

Nicolas Holzschuch 1.7k Jan 02, 2023
A terminal client for connecting to hack.chat servers

A terminal client for connecting to hack.chat servers.

V9 2 Sep 21, 2022