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:
@@ -50,7 +50,7 @@ impl From<SerenityChannel> for ChannelId {
|
||||
#[cfg(feature = "twilight")]
|
||||
impl From<TwilightChannel> for ChannelId {
|
||||
fn from(id: TwilightChannel) -> Self {
|
||||
Self(id.0)
|
||||
Self(id.0.into())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ impl From<GuildId> for DriverGuild {
|
||||
#[cfg(feature = "twilight")]
|
||||
impl From<TwilightGuild> for GuildId {
|
||||
fn from(id: TwilightGuild) -> Self {
|
||||
Self(id.0)
|
||||
Self(id.0.into())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,6 +116,6 @@ impl From<UserId> for DriverUser {
|
||||
#[cfg(feature = "twilight")]
|
||||
impl From<TwilightUser> for UserId {
|
||||
fn from(id: TwilightUser) -> Self {
|
||||
Self(id.0)
|
||||
Self(id.0.into())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user