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
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.1.0.tar.gz
(4.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiovotifier-1.1.0.tar.gz.
File metadata
- Download URL: aiovotifier-1.1.0.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/2.2.1 CPython/3.10.7 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e72dbb4bea45e9ef85bf8dca2d8ffb22d53142dc9f6d0cebaac16b97da328390
|
|
| MD5 |
bf7d545a3ab03e6059cd9512298690dc
|
|
| BLAKE2b-256 |
cdbff39bfaa27c1fc0259209b691b90ec38a33297a90ce190f9dad4f3f114b64
|
File details
Details for the file aiovotifier-1.1.0-py3-none-any.whl.
File metadata
- Download URL: aiovotifier-1.1.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/2.2.1 CPython/3.10.7 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94fae36de3012e31d0e5caabde5e56c3eadd15892bb4ccf1e5e29725abcf8d87
|
|
| MD5 |
1be69f3314d96ec155d5a6868aa72393
|
|
| BLAKE2b-256 |
bb06e45b4be9f9b20f06dad1ca822db304532e5013c2606b6302208f8f482fc6
|