diff --git a/Cargo.toml b/Cargo.toml index 8b12454..15ce8b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ description = "An async Rust library for the Discord voice API." documentation = "https://docs.rs/songbird" edition = "2018" homepage = "https://github.com/serenity-rs/serenity" -include = ["src/**/*.rs", "Cargo.toml"] +include = ["src/**/*.rs", "Cargo.toml", "build.rs"] keywords = ["discord", "api", "rtp", "audio"] license = "ISC" name = "songbird" @@ -60,12 +60,12 @@ version = "0.7" optional = true features = ["voice", "gateway"] path = "../" -version = "0.9.0-rc.2" +version = "0.9.0" [dependencies.serenity-voice-model] optional = true path = "../voice-model" -version = "0.9.0-rc.2" +version = "0.10" [dependencies.spin_sleep] optional = true @@ -82,12 +82,12 @@ default-features = false [dependencies.twilight-gateway] optional = true -version = "0.1" +version = "0.2" default-features = false [dependencies.twilight-model] optional = true -version = "0.1" +version = "0.2" default-features = false [dependencies.url] @@ -96,7 +96,7 @@ version = "2" [dependencies.xsalsa20poly1305] optional = true -version = "0.5" +version = "0.6" [dev-dependencies] criterion = "0.3" diff --git a/examples/twilight/Cargo.toml b/examples/twilight/Cargo.toml index 04473be..5d45f92 100644 --- a/examples/twilight/Cargo.toml +++ b/examples/twilight/Cargo.toml @@ -10,10 +10,10 @@ tracing = "0.1" tracing-subscriber = "0.2" serde_json = { version = "1" } tokio = { features = ["macros", "rt-threaded", "sync"], version = "0.2" } -twilight-gateway = "0.1" -twilight-http = "0.1" -twilight-model = "0.1" -twilight-standby = "0.1" +twilight-gateway = "0.2" +twilight-http = "0.2" +twilight-model = "0.2" +twilight-standby = "0.2" [dependencies.songbird] path = "../.." diff --git a/examples/twilight/src/main.rs b/examples/twilight/src/main.rs index d8a49b9..4364503 100644 --- a/examples/twilight/src/main.rs +++ b/examples/twilight/src/main.rs @@ -2,13 +2,13 @@ //! //! # Twilight-rs attribution //! ISC License (ISC) -//! +//! //! Copyright (c) 2019, 2020 (c) The Twilight Contributors -//! +//! //! Permission to use, copy, modify, and/or distribute this software for any purpose //! with or without fee is hereby granted, provided that the above copyright notice //! and this permission notice appear in all copies. -//! +//! //! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH //! REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND //! FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, @@ -21,10 +21,14 @@ //! [basic lavalink bot]: https://github.com/twilight-rs/twilight/tree/trunk/lavalink/examples/basic-lavalink-bot use futures::StreamExt; +use songbird::{ + input::{Input, Restartable}, + tracks::{PlayMode, TrackHandle}, + Songbird, +}; use std::{collections::HashMap, env, error::Error, future::Future, sync::Arc}; -use songbird::{input::{Input, Restartable}, tracks::{PlayMode, TrackHandle}, Songbird}; use tokio::sync::RwLock; -use twilight_gateway::{Cluster, Event}; +use twilight_gateway::{Cluster, Event, Intents}; use twilight_http::Client as HttpClient; use twilight_model::{channel::Message, gateway::payload::MessageCreate, id::GuildId}; use twilight_standby::Standby; @@ -59,7 +63,8 @@ async fn main() -> Result<(), Box> { let http = HttpClient::new(&token); let user_id = http.current_user().await?.id; - let cluster = Cluster::new(token).await?; + let cluster = + Cluster::new(token, Intents::GUILD_MESSAGES | Intents::GUILD_VOICE_STATES).await?; let shard_count = cluster.shards().len(); let songbird = Songbird::twilight(cluster.clone(), shard_count as u64, user_id); @@ -120,10 +125,7 @@ async fn join(msg: Message, state: State) -> Result<(), Box format!("Joined <#{}>!", channel_id), @@ -149,10 +151,7 @@ async fn leave(msg: Message, state: State) -> Result<(), Box Result<(), Box".to_string()), - input.metadata.artist.as_ref().unwrap_or(&"".to_string()), + input + .metadata + .title + .as_ref() + .unwrap_or(&"".to_string()), + input + .metadata + .artist + .as_ref() + .unwrap_or(&"".to_string()), ); state @@ -228,20 +235,19 @@ async fn pause(msg: Message, state: State) -> Result<(), Box { let _success = handle.pause(); false - } + }, _ => { let _success = handle.play(); - true - } + true + }, }; let action = if paused { "Unpaused" } else { "Paused" }; @@ -283,7 +289,7 @@ async fn seek(msg: Message, state: State) -> Result<(), Box()?; let store = state.trackdata.read().await; - + let content = if let Some(handle) = store.get(&guild_id) { if handle.is_seekable() { let _success = handle.seek_time(std::time::Duration::from_secs(position)); @@ -360,7 +366,7 @@ async fn volume(msg: Message, state: State) -> Result<(), Box