Gateway: Generic Shard and Twilight v0.8 Support (#109)
This PR adds support for twilight v0.8, mainly adapting to significant API changes introduced by v0.7. As a result of these, twilight no longer accepts arbitrary JSON input, so it seemed sensible to adapt our `Shard` design to no longer require the same. Adding to this, I've added in a trait to allow an arbitrary `Shard` to be installed, given only an implementation of a method to send a `VoiceStateUpdate`. Together, `Sharder::Generic` (songbird::shards::VoiceUpdate) and `Shard::Generic` (songbird::shards::GenericSharder) should allow any library to be hooked in to Songbird. This PR was tested using `cargo make ready` and by manually testing `examples/twilight`.
This commit is contained in:
@@ -13,6 +13,7 @@ repository = "https://github.com/serenity-rs/songbird.git"
|
||||
version = "0.2.2"
|
||||
|
||||
[dependencies]
|
||||
derivative = "2"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
@@ -104,12 +105,12 @@ default-features = false
|
||||
|
||||
[dependencies.twilight-gateway]
|
||||
optional = true
|
||||
version = ">=0.5, <0.7"
|
||||
version = "0.8"
|
||||
default-features = false
|
||||
|
||||
[dependencies.twilight-model]
|
||||
optional = true
|
||||
version = ">=0.5, <0.7"
|
||||
version = "0.8"
|
||||
default-features = false
|
||||
|
||||
[dependencies.typemap_rev]
|
||||
|
||||
Reference in New Issue
Block a user