This python module stores the user credentials of riot users and also provides the riot auth api in one simple package so it can be used in multiple projects.
- Full auth flow
- Request helpers
- Basic endpoints for Valorant
- Captcha "bypass" without using external services
- Ability to use external Captcha solvers
The preferred method of installation is through pip
but if you know better use the package manager that you want.
pip install ValVault
The terminal
module in ValVault
is special for terminal applications since it has loose methods and it has a built-in password input.
from ValVault import terminal as Vault
Vault.init_auth()
Vault.new_user("Test", "Password")
username = Vault.get_users()[0]
user = User(username, Vault.get_pass(username))
auth = Vault.get_auth(user)
If you want to implement your own password prompt or need to use a GUI you should use the class directly.
import ValVault
db_password = "MySecret"
db = ValVault.EncryptedDB(db_password)
entry = db.save_user("Test", "Password")
auth = db.get_auth(entry.username)
ValVault
is based off ValLib
thus some DataClasses are shared like:
User
a dataclass containing username and passwordAuth
a dataclass containing ever auth param
If you want to read more about ValLib go here
ValVault
contains:
Entry
a custom DataClass to make database compatibility easier that contains all info about an userEncryptedDB
a class to handle the database
ValVault.terminal
contains the following methods:
init_vault
to setup the Vault and prompt the user for the passwordget_auth
provided anUser
get authenticatedget_users
get all usernamesget_aliases
get all aliasget_name
get the username of a given aliasset_alias
set the alias of a usernew_user
add an user to the Vault
The EncryptedDB
contains the following methods:
save_user
to add or modify an userfind
to find several entriesfind_one
to find only one entryget_auth
to get the auth for a given usernamefix_database
to fix broken entries in the database
And the following properties:
entries
a list of everyEntry
users
a list of all usernamesaliases
a list of all aliases
- Async (?)
- More user properties
- Better documentation
- Better auth
Tests need to be run in a development environment with GUI, a navigator, pytest
and filling this environment variables.
USERNAME="TestUser"
PASSWORD="TestPassword"
And then running pytest
.
- Thanks to Techdoodle for his API docs
- Thanks to the Valorant App Developers discord