aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorFuwn <[email protected]>2020-11-01 00:24:43 -0700
committerFuwn <[email protected]>2020-11-01 00:24:43 -0700
commit85e486db6237870b585f07cfd4ea26af4a65bf85 (patch)
treee09d4ba0a498cdca612cc5e7ccf7fd2379fefb53 /src/core
parentfeat (desc) (diff)
downloaddep-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.rs11
-rw-r--r--src/core/lavalink_handler.rs14
-rw-r--r--src/core/mod.rs1
-rw-r--r--src/core/model.rs11
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 {