An asynchronous MInecraft server votifier client in Python
Project description
Aio-Votifier
An asynchronous MInecraft server votifier client in Python
Example Usage:
from aiovotifier import VotifierClient
import asyncio
async def main():
client = VotifierClient("127.0.0.1", 8192, "testservicename", "token/rsa key")
# VotifierClient.vote(...) automatically determines the protocol and key format
await client.vote("username", "user address")
await client.vote("user2")
await client.v1_vote("username", "user address") # only supports v1 protocol
await client.nu_vote("username", "user address") # only supports NuVotifier/v2 protocol
asyncio.run(main())
Documentation
class aiovotifier.VotifierClient(host: str, port: int, service_name: str, secret: str)
- Arguments:
host: str
- The hostname or IP of the votifier serverport: int
- The port of the votifier server, commonly 8192service_name: str
- The name of the service that sends the votesecret: str
- The public RSA key or the token found inconfig.yml
- Methods:
vote(username: str, user_address: str = "127.0.0.1")
- sends a vote to the votifier server, automatically detects and handles the protocol and type of secretv1_vote(username: str, user_address: str = "127.0.0.1")
- sends a Votifier v1 vote to a votifier v1 servernu_vote(username: str, user_address: str = "127.0.0.1") -> dict
- sends a NuVotifier / v2 vote to a NuVotifier server, returns the response from the server
class aiovotifier.VotifierHeader(header: bytes, version: str, token: str = None)
- Arguments:
header: bytes
- The header received from the votifier serverversion: str
- The version of the votifier serverchallenge: str = None
- The challenge, included only if the votifier server is v2/NuVotifier
- Methods:
@classmethod parse(header: bytes)
- Returns a newVotifierHeader
, parsed from the input bytes
function aiovotifier.votifier_v1_vote(r: asyncio.StreamReader, w: asyncio.StreamWriter, service_name: str, username: str, user_address: str, key: cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey)
- Sends a Votifier v1 vote to a Votifier v1 server
function aiovotifier.nuvotifier_vote(r: asyncio.StreamReader, w: asyncio.StreamWriter, service_name: str, username: str, user_address: str, token: str, challenge: str) -> dict
- Sends a NuVotifier / v2 vote to a NuVotifier server
exception aiovotifier.VotifierError
- Base class that all votifier exceptions derive from
exception aiovotifier.VotifierHeaderError
- Raised when the header from the votifier server is invalid
exception aiovotifier.UnsupportedVersionError
- Raised when the votifier version is unsupported
exception aiovotifier.NuVotifierResponseError
- Raised when the response from the votifier server contains a status that is not OK
Credits
aiovotifier was based off the code and documentation below
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiovotifier-1.0.5.tar.gz
(5.4 kB
view details)
Built Distribution
File details
Details for the file aiovotifier-1.0.5.tar.gz
.
File metadata
- Download URL: aiovotifier-1.0.5.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3eb93418852d1ad2312930585ba76e66ec12b4204e37084e28eb7ce3469b647 |
|
MD5 | ca0283c3ff93c82f247bd35fb7bd30bf |
|
BLAKE2b-256 | cbaaaaf7527fd8b1cb4719189235d3e7015151689064a8b94f2c63680779e9e6 |
File details
Details for the file aiovotifier-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: aiovotifier-1.0.5-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 300ebfbbc631ee9e4c4819599786dc5094ac1ab1fb809666e8f97589834d2387 |
|
MD5 | b11d7885afa258dbc4c66242a47ceb51 |
|
BLAKE2b-256 | 030d97046514c236e79a006ebc82b00dedb7cb46fe901234bb26ac6cb5a61911 |