neuro_sama, the Rust crate
A Rust crate that implements the Neuro-sama game
API. It doesn't handle
WebSocket communications itself, instead, it works with tungstenite
messages, which you can handle whichever way you want.
There's a high-level API and a low-level API available. The low-level
API simply defines the API schema, it's available in the schema
submodule. The high-level API is hopefully easier and safer to work
with, it's available in the game submodule.
Optionally, a proposals feature is available that enables proposed
commands that have not yet been accepted or implemented - you can use it
for testing, but the feature is excluded from semver guarantees.
Another feature is strip-trailing-zeroes, which strips .0 from round
floating point numbers, it may be useful for slightly reducing
schema/context size.
Changelog
- 0.1.0 - initial release
- 0.2.0 - reworked the API a bit to make it easier to work with and more
semver-compatible, and added handling for the proposed
actions/reregister_allcommand. - 0.2.1 - generate a leaner JSON schema that's hopefully less confusing
- 0.3.0 - add a
proposalsfeature. - 0.3.1 - don't require
ArcforApi::new - 0.4.0 - convert
Apifrom a separate object into a sealed trait - 0.4.1 - interpret whitespace-only messages as null
- 0.4.2 - cleanup action schemas in
register_actions_raw - 0.4.3 - add the
strip-trailing-zeroesfeature
License
TL;DR do whatever you want.
Licensed under either the BSD Zero Clause License (https://opensource.org/licenses/0BSD), the Apache 2.0 License (http://www.apache.org/licenses/LICENSE-2.0) or the MIT License (http://opensource.org/licenses/MIT), at your choice.