aboutsummaryrefslogtreecommitdiff
path: root/music.js
diff options
context:
space:
mode:
authorAlee <alee14498@gmail.com>2018-03-25 09:36:32 -0400
committerAlee <alee14498@gmail.com>2018-03-25 09:36:32 -0400
commit9f39777642b3f44386df711afeab6490dc508007 (patch)
tree90789522e4920934ff0012129525c18c6768953b /music.js
parent07fe0f9f68d078881c44ddeaadbf09212f089727 (diff)
downloadAleeBot-9f39777642b3f44386df711afeab6490dc508007.tar.gz
AleeBot-9f39777642b3f44386df711afeab6490dc508007.tar.bz2
AleeBot-9f39777642b3f44386df711afeab6490dc508007.zip
Moved all source files
Diffstat (limited to 'music.js')
-rw-r--r--music.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/music.js b/music.js
new file mode 100644
index 0000000..b2df43d
--- /dev/null
+++ b/music.js
@@ -0,0 +1,68 @@
+// Created by jtsshieh#6434 in the BonGon project: https://github.com/jtsshieh/BonGon
+
+const YTDL = require('ytdl-core');
+module.exports.playYT = async (bot, connection, msg) => {
+ const EventEmitter = require('events');
+ class MyEmitter extends EventEmitter {}
+ bot.musicEmit = new MyEmitter();
+
+ const musicvariables = require('./music.js').MusicVariables;
+ const server = musicvariables(bot, msg.member.guild.id);
+
+ server.dispatcher = connection;
+
+ connection.playStream(YTDL(server.queue[0].url, {
+ filter: 'audioonly'
+ }));
+
+ server.nowPlaying = server.queue[0];
+ server.beforeNowPlaying = server.nowPlaying;
+
+
+ server.queue.shift();
+
+ server.nowPlaying.playing = true;
+
+ let time = 0;
+ let counter = setInterval(
+ function() {
+ time = time + 1;
+ server.dispatcher.time = time;
+ }, 1000);
+
+ bot.musicEmit.on('paused', () => {
+ clearInterval(counter);
+ });
+
+ bot.musicEmit.on('resumed',() =>{
+ counter = setInterval(
+ function() {
+ time = time + 1;
+ server.dispatcher.time = time;
+ }, 1000);
+ });
+
+ connection.once('end', function() {
+ clearInterval(counter);
+
+ if (server.queue[0] || server.beforeNowPlaying) {
+ if (server.repeat) {
+ server.queue.push(server.beforeNowPlaying);
+ }
+
+ server.nowPlaying = null;
+ bot.playYT(connection, msg);
+ }
+
+ else {
+ bot.leaveVoiceChannel(connection.channelID);
+ bot.servers[msg.member.guild.id] = null;
+ }
+ });
+};
+module.exports.MusicVariables = (bot, guildID) => {
+ if (!bot.servers[guildID]) {
+ bot.servers[guildID] = {'queue' : [], 'dispatcher': null, 'repeat': false};
+ }
+ return bot.servers[guildID];
+};