An asynchronous MInecraft server votifier client in Python
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())
- 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
- 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
- Base class that all votifier exceptions derive from
- Raised when the header from the votifier server is invalid
- Raised when the votifier version is unsupported
- Raised when the response from the votifier server contains a status that is not OK
aiovotifier was based off the code and documentation below