diff options
| author | Fuwn <[email protected]> | 2020-11-01 00:24:43 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2020-11-01 00:24:43 -0700 |
| commit | 85e486db6237870b585f07cfd4ea26af4a65bf85 (patch) | |
| tree | e09d4ba0a498cdca612cc5e7ccf7fd2379fefb53 /src/core | |
| parent | feat (desc) (diff) | |
| download | dep-core-next-85e486db6237870b585f07cfd4ea26af4a65bf85.tar.xz dep-core-next-85e486db6237870b585f07cfd4ea26af4a65bf85.zip | |
feat (desc)
feat:
- implement somewhat ok but not done version of lavalink
- new macros
- plugin system
- random hi plugin
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/handler.rs | 11 | ||||
| -rw-r--r-- | src/core/lavalink_handler.rs | 14 | ||||
| -rw-r--r-- | src/core/mod.rs | 1 | ||||
| -rw-r--r-- | src/core/model.rs | 11 |
4 files changed, 33 insertions, 4 deletions
diff --git a/src/core/handler.rs b/src/core/handler.rs index e1d1a12..7d5bbfa 100644 --- a/src/core/handler.rs +++ b/src/core/handler.rs @@ -11,6 +11,7 @@ use rand::prelude::*; use serenity::CACHE; use serenity::model::gateway::{Game, GameType, Ready}; use serenity::model::channel::Message; +// use serenity::model::event::{PresenceUpdateEvent, VoiceServerUpdateEvent}; use serenity::model::event::PresenceUpdateEvent; use serenity::model::guild::{Guild, Member, PartialGuild}; use serenity::model::id::{ @@ -24,6 +25,7 @@ use serenity::prelude::*; use std::sync::{Arc, Once}; use std::thread; use std::time::Duration; +use crate::exec_on_message; static LOAD_TIMERS: Once = Once::new(); @@ -584,4 +586,13 @@ impl EventHandler for Handler { } } } + + // fn voice_server_update(&self, ctx: Context, voice: VoiceServerUpdateEvent) { + // if let Some(guild_id) = voice.guild_id { + // let data = ctx.data.lock(); + // let voice_server_lock = data.get::<VoiceGuildUpdate>().unwrap(); + // let mut voice_server = voice_server_lock.write(); + // voice_server.insert(guild_id); + // } + // } } diff --git a/src/core/lavalink_handler.rs b/src/core/lavalink_handler.rs new file mode 100644 index 0000000..bfd5fd6 --- /dev/null +++ b/src/core/lavalink_handler.rs @@ -0,0 +1,14 @@ +use serenity::prelude::Mutex; +use std::sync::Arc; +use lavalink_rs::{ + LavalinkClient, + model::*, + gateway::* +}; + +pub struct LavalinkHandler; +impl LavalinkEventHandler for LavalinkHandler { + fn track_start(&self, _client: Arc<Mutex<LavalinkClient>>, event: TrackStart) { + println!("Track started! Guild: {}", event.guild_id); + } +} diff --git a/src/core/mod.rs b/src/core/mod.rs index 2ddcba0..709a71f 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -3,6 +3,7 @@ pub mod colours; pub mod consts; pub mod framework; pub mod handler; +// pub mod lavalink_handler; pub mod model; pub mod timers; pub mod utils; diff --git a/src/core/model.rs b/src/core/model.rs index e90f5e1..b2cefac 100644 --- a/src/core/model.rs +++ b/src/core/model.rs @@ -1,17 +1,20 @@ use crate::core::api; use crate::core::timers::TimerClient; use crate::db::Database; -use serenity::client::bridge::{ - gateway::ShardManager, - // voice::ClientVoiceManager -}; +use serenity::client::bridge::gateway::ShardManager; +// use serenity::client::bridge::{ +// gateway::ShardManager, +// voice::ClientVoiceManager +// }; // use serenity::model::id::{UserId, GuildId}; +// use serenity::prelude::{Mutex, RwLock}; use serenity::model::id::UserId; use serenity::prelude::Mutex; // use serenity::voice; use std::sync::Arc; // use std::collections::HashSet; use typemap::Key; +// use lavalink_rs::LavalinkClient; pub struct Owner; impl Key for Owner { |