fix code format

This commit is contained in:
Emily 2020-04-13 14:28:53 +10:00
parent a067c957c1
commit 9fd2c873ca
5 changed files with 136 additions and 144 deletions

View File

@ -4,8 +4,7 @@ exports.conf = {
aliases: [],
permLevel: 'User',
requiredPerms: [],
cooldown: 2000,
joinArguments: 1
cooldown: 2000
}
exports.help = {
@ -16,6 +15,6 @@ exports.help = {
parameters: '[query] - A query to find video by or a link to the video.'
}
exports.run = async (client, message, args, level, data) => {
await client.music.play(message, args[0]);
};
exports.run = async (client, message, [...args], level, data) => {
await client.music.play(message, args)
}

View File

@ -1,9 +1,9 @@
exports.conf = {
enabled: true,
guildOnly: true,
aliases: [],
aliases: ['vol'],
permLevel: 'Moderator',
requiredPerms: ['vol'],
requiredPerms: [],
cooldown: 2000
}
@ -16,17 +16,17 @@ exports.help = {
}
exports.run = async (client, message, args, level, data) => {
let vol = args[0];
let vol = args[0]
if(vol) {
vol = Number(vol);
if (vol) {
vol = Number(vol)
vol = vol / 100 * 0.5;
vol = vol / 100 * 0.5
if(vol <= 1) {
client.music.setVolume(message.guild, vol);
if (vol <= 1) {
client.music.setVolume(message.guild, vol)
message.reply('set volume to ' + vol * 100 + '%');
};
};
};
message.reply('set volume to ' + vol * 100 + '%')
}
}
}

View File

@ -106,15 +106,6 @@ module.exports = async (client, message) => {
message.flags.push(args.shift().slice(1))
}
let argsPossiblyJoined = args;
if(cmd.conf.joinArguments) {
if(args.length > cmd.conf.joinArguments && args.length > 1)
{
argsPossiblyJoined[cmd.conf.joinArguments - 1] = args.slice(cmd.conf.joinArguments - 1).join(' ');
}
};
client.logger.log(`Command ran: ${cmd.help.name}`)
cmd.run(client, message, argsPossiblyJoined, level, data)
cmd.run(client, message, args, level, data)
}

View File

@ -1,8 +1,8 @@
const ytdl = require('ytdl-core-discord');
const fetch = require('node-fetch');
const ytdl = require('ytdl-core-discord')
const fetch = require('node-fetch')
module.exports = client => {
client.music = {guilds: {}};
client.music = { guilds: {} }
// MUSIC - TIMESTAMP
client.createTimestamp = function (duration) {
@ -30,137 +30,137 @@ module.exports = client => {
return time
}
client.music.getGuild = function(id) {
let guild = client.music.guilds[id];
client.music.getGuild = function (id) {
let guild = client.music.guilds[id]
if(!guild) {
guild = {};
if (!guild) {
guild = {}
guild.dispatcher = null;
guild.playing = false;
guild.queue = [];
guild.dispatcher = null
guild.playing = false
guild.queue = []
client.music.guilds[id] = guild;
};
return guild;
};
client.music.isYouTubeLink = function(query) {
return query.startsWith('https://youtube.com/') || query.startsWith('http://youtube.com/') || query.startsWith('https://youtu.be/') || query.startsWith('http://youtu.be/') || query.startsWith('https://m.youtube.com/') || query.startsWith('http://m.youtube.com/') || query.startsWith('https://www.youtube.com/') || query.startsWith('http://www.youtube.com/');
};
client.music.getLinkFromID = function(id) {
return 'https://www.youtube.com/watch?v=' + id;
};
client.music.getVideoByQuery = async function(query) {
let isLink = client.music.isYouTubeLink(query);
let response;
if(isLink) {
response = await fetch('https://www.googleapis.com/youtube/v3/search?key=' + client.config.keys.yt + '&part=id,snippet&maxResults=1&type=video&id=' + id);
} else {
// TODO: replace this workaround
response = await fetch('https://www.googleapis.com/youtube/v3/search?key=' + client.config.keys.yt + '&part=id,snippet&maxResults=1&type=video&q=**' + encodeURIComponent(query) + '**');
};
let parsed = await response.json();
if(parsed.items) {
let video = parsed.items[0];
if(video) {
return video;
} else {
return false;
};
} else {
return false;
};
};
client.music.play = async function(message, query, ignoreQueue) {
let guild = client.music.getGuild(message.guild.id);
if(!message.member.voice.channel && !guild.voiceChannel) {
return message.reply('you are not in a voice channel!');
client.music.guilds[id] = guild
}
let vc = message.member.voice.channel;
return guild
}
let video;
if(!ignoreQueue) {
video = await client.music.getVideoByQuery(query);
};
client.music.isYouTubeLink = function (query) {
return query.startsWith('https://youtube.com/') || query.startsWith('http://youtube.com/') || query.startsWith('https://youtu.be/') || query.startsWith('http://youtu.be/') || query.startsWith('https://m.youtube.com/') || query.startsWith('http://m.youtube.com/') || query.startsWith('https://www.youtube.com/') || query.startsWith('http://www.youtube.com/')
}
if(video || ignoreQueue) {
if(!ignoreQueue) {
// Fix the bot if somehow broken
client.music.getLinkFromID = function (id) {
return 'https://www.youtube.com/watch?v=' + id
}
client.music.getVideoByQuery = async function (query) {
const isLink = client.music.isYouTubeLink(query)
let response
if (isLink) {
response = await fetch('https://www.googleapis.com/youtube/v3/search?key=' + client.config.keys.yt + '&part=id,snippet&maxResults=1&type=video&id=' + id)
} else {
// TODO: replace this workaround
response = await fetch('https://www.googleapis.com/youtube/v3/search?key=' + client.config.keys.yt + '&part=id,snippet&maxResults=1&type=video&q=**' + encodeURIComponent(query) + '**')
}
const parsed = await response.json()
if (parsed.items) {
const video = parsed.items[0]
if (video) {
return video
} else {
return false
}
} else {
return false
}
}
client.music.play = async function (message, query, ignoreQueue) {
const guild = client.music.getGuild(message.guild.id)
if (!message.member.voice.channel && !guild.voiceChannel) {
return message.reply('you are not in a voice channel!')
}
const vc = message.member.voice.channel
let video
if (!ignoreQueue) {
video = await client.music.getVideoByQuery(query)
}
if (video || ignoreQueue) {
if (!ignoreQueue) {
// Fix the bot if somehow broken
// music "playing", nothing in queue
if((guild.playing || guild.dispatcher) && guild.queue.length == 0) {
guild.playing = false;
guild.dispatcher = null;
if ((guild.playing || guild.dispatcher) && guild.queue.length === 0) {
guild.playing = false
guild.dispatcher = null
// music not playing, something is in queue
} else if(!guild.playing && !guild.dispatcher && guild.queue.length > 0) {
guild.queue = [];
};
} else if (!guild.playing && !guild.dispatcher && guild.queue.length > 0) {
guild.queue = []
}
// Add video to queue
guild.queue.push({video: video, requestedBy: message.member.id});
};
guild.queue.push({ video: video, requestedBy: message.member.id })
}
// Figure out if the bot should add it to queue or play it right now
if(guild.playing) {
message.reply('added **' + video.snippet.title + '** to the queue');
// Figure out if the bot should add it to queue or play it right now
if (guild.playing) {
message.reply('added **' + video.snippet.title + '** to the queue')
} else {
guild.playing = true;
guild.playing = true
guild.voiceChannel = vc;
guild.voiceChannel = vc
let connection = await vc.join();
let v = guild.queue[0];
const connection = await vc.join()
guild.dispatcher = connection.play(await ytdl(client.music.getLinkFromID(v.video.id.videoId), {highWaterMark: 1024 * 1024 * 32}), {type: 'opus'});
guild.dispatcher.setVolume(0.25);
const v = guild.queue[0]
message.channel.send('Playing **' + v.video.snippet.title + '**');
guild.dispatcher = connection.play(await ytdl(client.music.getLinkFromID(v.video.id.videoId), { highWaterMark: 1024 * 1024 * 32 }), { type: 'opus' })
guild.dispatcher.setVolume(0.25)
message.channel.send('Playing **' + v.video.snippet.title + '**')
// play next in queue on end
guild.dispatcher.once('finish', () => {
guild.queue.shift();
guild.playing = false;
guild.queue.shift()
guild.playing = false
if(guild.queue.length > 0) {
client.music.play(message, null, true);
if (guild.queue.length > 0) {
client.music.play(message, null, true)
} else {
guild.dispatcher = null;
guild.dispatcher = null
connection.disconnect();
};
});
};
connection.disconnect()
}
})
}
} else {
return message.reply('failed to find the video!');
};
};
return message.reply('failed to find the video!')
}
}
client.music.setVolume = function(guild, target) {
let g = client.music.getGuild(guild.id);
client.music.setVolume = function (guild, target) {
const g = client.music.getGuild(guild.id)
if(g.dispatcher) {
g.dispatcher.setVolume(target);
};
};
if (g.dispatcher) {
g.dispatcher.setVolume(target)
}
}
client.music.skip = function(guild, reason) {
let g = client.music.getGuild(guild.id);
client.music.skip = function (guild, reason) {
const g = client.music.getGuild(guild.id)
if(g.dispatcher) {
g.dispatcher.end(reason);
};
};
if (g.dispatcher) {
g.dispatcher.end(reason)
}
}
}

View File

@ -50,6 +50,14 @@ client.logger = require('tracer').colorConsole({
filters: [colors.white]
})
// Check if Woomy is running inside a Docker container
if (isDocker() === true) {
client.devmode = true
client.logger.warn('Running in development mode.')
} else {
client.devmode = false
}
// Create caches for permissions, commands, cooldowns and aliases
client.levelCache = {}
client.commands = new Discord.Collection()
@ -59,7 +67,9 @@ client.aliases = new Discord.Collection()
// Main initialisation function
const init = async () => {
// initialise sentry
if (client.config.keys.sentry != '') sentry.init({dsn: client.config.keys.sentry})
if (client.config.keys.sentry !== '' && client.devmode === false) {
sentry.init({ dsn: client.config.keys.sentry })
}
// Command handler
fs.readdir('./commands', (err, files) => {
@ -101,14 +111,6 @@ const init = async () => {
client.levelCache[thisLevel.name] = thisLevel.level
}
// Check if Woomy is running inside a Docker container
if (isDocker() === true) {
client.devmode = true
client.logger.warn('Running in development mode.')
} else {
client.devmode = false
}
// Initialise DB
await client.db.init(client)