v3.0.0
3.0.0 (2020-10-26)
⚠ BREAKING CHANGES
-
Namespace changed from
D3strukt0r\VotifierClienttoD3strukt0r\Votifier\Client. Update everyusestatement. -
Classes were moved and renamed:
ServerType\ClassicVotifier→Server\VotifierServerType\NuVotifier→Server\NuVotifierServerType\ServerTypeInterface→Server\ServerInterfaceVoteType\ClassicVote→Vote\ClassicVoteVoteType\VoteInterface→Vote\VoteInterfaceServerConnection→Socket(internal), and theMessagesclass was removed.
-
Construction is now a fluent builder (no more positional constructors), and you send on the server object directly — the
Votewrapper class is gone.sendVote()is variadic, so several votes can be sent at once:// before (2.x) $serverType = new ClassicVotifier('127.0.0.1', null, $publicKey); $voteType = new ClassicVote($username, 'Your vote list', $ip); (new Vote($voteType, $serverType))->send(); // after (3.0.0) use D3strukt0r\Votifier\Client\Server\Votifier; use D3strukt0r\Votifier\Client\Vote\ClassicVote; $server = (new Votifier())->setHost('127.0.0.1')->setPublicKey($publicKey); // ->setPort() optional, defaults to 8192 $vote = (new ClassicVote())->setUsername($username)->setServiceName('Your vote list')->setAddress($ip); $server->sendVote($vote);
For NuVotifier v2:
(new NuVotifier())->setHost('127.0.0.1')->setProtocolV2(true)->setToken('...'). -
Failures now throw dedicated typed exceptions instead of a generic
\Exception. Catch what you need:Exception\NotVotifierException; the NuVotifier familyException\NuVotifierChallengeInvalidException,Exception\NuVotifierSignatureInvalidException,Exception\NuVotifierUnknownServiceException,Exception\NuVotifierUsernameTooLongException; and the transport-levelException\Socket\NoConnectionException,Exception\Socket\PackageNotSentException,Exception\Socket\PackageNotReceivedException. A missing required field throws\InvalidArgumentException. -
verifyConnection()is available on a server to check reachability before sending.