Merge pull request #1 from warengroup/changes

Changes
This commit is contained in:
Matte 2020-03-08 16:05:31 +01:00 committed by GitHub
commit d3296efa57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 85 additions and 66 deletions

View File

@ -1,4 +1,5 @@
# RadioX by EximiaBots
We will bring you finnish radio to your discord server.
Join our Discord Server
https://discord.gg/rRA65Mn

View File

@ -3,13 +3,24 @@ module.exports = {
alias: 'none',
usage: '',
description: 'Report a bug',
onlyDev: false,
permission: 'none',
category: 'info',
async execute(msg, args, client, Discord, prefix) {
let developers = "";
let user = "";
for(i = 0; i < client.config.devId.length; i++){
user = await client.users.fetch(client.config.devId[i]);
if(i == client.config.devId.length-1){
developers += user.tag;
} else {
developers += user.tag + " & ";
}
}
const embed = new Discord.MessageEmbed()
.setTitle(`Found a bug with ${client.user.username}?\nDM the core developer:`)
.setDescription(`Matte#0002\nOr join the support server: ${client.config.supportGuild}`)
.setDescription(`${developers}\nOr join the support server: ${client.config.supportGuild}`)
.setColor(client.config.embedColor);
msg.channel.send(embed);
},

View File

@ -3,12 +3,11 @@ module.exports = {
alias: 'h',
usage: '<command(opt)>',
description: 'See the help for RadioX.',
onlyDev: false,
permission: 'none',
category: 'info',
execute(msg, args, client, Discord, prefix, command) {
if (args[1]) {
if (!client.commands.has(args[1]) || (client.commands.has(args[1]) && client.commands.get(args[1]).omitFromHelp === true && msg.guild.id !== '489083836240494593')) return msg.channel.send('That command does not exist');
if (!client.commands.has(args[1]) || (client.commands.has(args[1]) && client.commands.get(args[1]).omitFromHelp === true)) return msg.channel.send('That command does not exist');
const command = client.commands.get(args[1]);
const embed = new Discord.MessageEmbed()
.setTitle(`${client.global.db.guilds[msg.guild.id].prefix}${command.name} ${command.usage}`)
@ -23,7 +22,7 @@ module.exports = {
}
let commands = '';
for (let i = 0; i < categories.length; i++) {
commands += `**» ${categories[i].toUpperCase()}**\n${client.commands.filter(x => x.category === categories[i] && !x.omitFromHelp && !x.onlyDev).map(x => `\`${x.name}\``).join(', ')}\n`;
commands += `**» ${categories[i].toUpperCase()}**\n${client.commands.filter(x => x.category === categories[i] && !x.omitFromHelp).map(x => `\`${x.name}\``).join(', ')}\n`;
}
const embed = new Discord.MessageEmbed()
.setTitle(`${client.user.username} help:`)

View File

@ -3,7 +3,6 @@ module.exports = {
alias: 'i',
usage: '',
description: 'Invite RadioX.',
onlyDev: false,
permission: 'none',
category: 'info',
execute(msg, args, client, Discord, prefix) {

View File

@ -3,7 +3,6 @@ module.exports = {
alias: 'np',
usage: '',
description: 'See the currently playing song position and length.',
onlyDev: false,
permission: 'none',
category: 'music',
async execute(msg, args, client, Discord, prefix) {
@ -11,11 +10,10 @@ module.exports = {
if (!radio) return msg.channel.send('<:redx:674263474704220182> There is nothing playing.');
if (!radio.playing) return msg.channel.send('<:redx:674263474704220182> There is nothing playing.');
radio.time = radio.connection.dispatcher.streamTime;
let completed = (radio.time.toFixed(0));
const completed = (radio.time.toFixed(0));
const embed = new Discord.MessageEmbed()
.setTitle("__Now playing__")
.setDescription(`<a:aNotes:674602408105476106>**Now playing:** ${radio.url}\n\`${client.funcs.msToTime(completed, "hh:mm:ss")}\``)
.setThumbnail(thumbnail._rejectionHandler0)
.setColor(client.config.embedColor)
return msg.channel.send(embed);
}

View File

@ -3,7 +3,6 @@ module.exports = {
alias: 'p',
usage: '<song name>',
description: 'Play some music.',
onlyDev: false,
permission: 'none',
category: 'music',
async execute(msg, args, client, Discord, prefix) {
@ -25,7 +24,8 @@ module.exports = {
}
if (radio) {
radio.connection.dispatcher.end();
radio.connection.dispatcher.destroy();
client.funcs.play(msg.guild, client, url);
}
const construct = {

View File

@ -3,14 +3,13 @@ module.exports = {
description: 'Stop command.',
alias: 'none',
usage: '',
onlyDev: false,
permission: 'MANAGE_CHANNELS',
permission: 'none',
category: 'music',
execute(msg, args, client, Discord, prefix, command) {
const radio = client.radio.get(msg.guild.id);
if (client.funcs.check(client, msg, command)) {
radio.connection.dispatcher.end();
msg.channel.send('<:stop:674685626108477519> Stopped the music!')
}
radio.connection.dispatcher.destroy();
radio.voiceChannel.leave();
client.radio.delete(guild.id);
msg.channel.send('<:stop:674685626108477519> Stopped the music!');
}
};

View File

@ -3,7 +3,6 @@ module.exports = {
description: 'Volume command.',
alias: 'none',
usage: '<volume>',
onlyDev: false,
permission: 'MANAGE_MESSAGES',
category: 'music',
execute(msg, args, client, Discord, prefix, command) {

23
config.js Normal file
View File

@ -0,0 +1,23 @@
require('dotenv/config');
module.exports = {
//credentials
token: "Njg0MTA5NTM1MzEyNjA5NDA5.XmOUxg.u2XChDQMZtokzueQRqGWc-CAvWE",
//support
supportGuild: "https://discord.gg/rRA65Mn",
devId: [
"493174343484833802",
"360363051792203779"
],
//misc
embedColor: "#88aa00",
invite: "https://discordapp.com/api/oauth2/authorize?client_id=684109535312609409&permissions=3427328&scope=bot",
//Settings
prefix: "rx>",
volume: 5
}

View File

@ -2,8 +2,7 @@ module.exports = {
name: 'message',
async execute(client, msg, Discord) {
if (msg.author.bot || !msg.guild) return;
let prefix = client.config.prefix
if (client.config.devMode) prefix = client.config.devPrefix;
let prefix = client.config.prefix;
const args = msg.content.slice(prefix.length).split(' ');
if (msg.mentions.users.first()) {
if (msg.mentions.users.first().id === client.user.id) {
@ -20,8 +19,6 @@ module.exports = {
const commandName = args[0].toLowerCase();
const command = client.commands.get(commandName) || client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName)) || client.commandAliases.get(commandName);
if (!command && msg.content !== `${prefix}`) return;
if (command.onlyDev && msg.author.id !== client.config.devId) return msg.channel.send('<:redx:674263474704220182> You are not allowed to do that!');
if (client.config.devMode && msg.member.id !== client.config.devId) return msg.channel.send('<:redx:674263474704220182> Dev mode has been turned on! Commands are only available to developer(s)!');
client.funcs.exe(msg, args, client, Discord, prefix, command);
}
}

View File

@ -1,11 +1,8 @@
module.exports = {
name: 'ready',
async execute(client, Discord) {
const debugChannel = await client.channels.fetch(client.config.debug_channel);
client.debug_channel = debugChannel
if (client.config.devMode) {
console.log('dev mode');
}
console.log('- Activated -');
console.log('RadioX');
console.log('We will bring you finnish radio to your discord server');
console.log('(c)2020 EximiaBots by Warén Media / Christer Warén & MatteZ02');
}
}

View File

@ -1,18 +1,25 @@
{
"name": "radiox",
"version": "1.0.0",
"description": "",
"description": "We will bring you finnish radio to your discord server",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"start": "node ."
},
"repository": {
"type": "git",
"url": "git+https://github.com/warengroup/eximiabots-radiox.git"
},
"author": "EximiaBots",
"license": "MIT",
"bugs": {
"url": "https://github.com/warengroup/eximiabots-radiox/issues"
},
"author": "",
"license": "ISC",
"dependencies": {
"@discordjs/opus": "^0.1.0",
"discord.js": "^12.0.1",
"dotenv": "^8.2.0",
"fs": "0.0.1-security",
"node-opus": "^0.3.3",
"path": "^0.12.7"
}
}

View File

@ -15,7 +15,7 @@ module.exports = class extends Client {
this.radio = new Map();
this.funcs = {};
this.dispatcher = {};
this.config = require('./config/config.js');
this.config = require('../config.js');
fs.readdirSync(path.join(__dirname, 'funcs')).forEach(filename => {
this.funcs[filename.slice(0, -3)] = require(`./funcs/${filename}`);

View File

@ -1,22 +0,0 @@
require('dotenv/config');
module.exports = {
//credentials
token: process.env.TOKEN,
devToken: process.env.DEVTOKEN,
//support guild
supportGuild: "https://discord.gg/rRA65Mn",
//channels
debug_channel: "634718645188034560",
primary_test_channel: "617633098296721409",
secondary_test_channel: "570531724002328577",
devId: "360363051792203779",
//misc
embedColor: "",
invite: "https://discordapp.com/api/oauth2/authorize?client_id=684109535312609409&permissions=3427328&scope=bot",
//Settings
devMode: false,
prefix: "rx>",
devPrefix: "-",
volume: 5,
}

View File

@ -6,11 +6,6 @@ module.exports = function (msg, args, client, Discord, prefix, command) {
command.execute(msg, args, client, Discord, prefix, command);
} catch (error) {
msg.reply(`<:redx:674263474704220182> there was an error trying to execute that command! Please contact support with \`${prefix}bug\`!`);
const embed = new Discord.MessageEmbed()
.setTitle(`Musix ${error.toString()}`)
.setDescription(error.stack.replace(/at /g, '**at **'))
.setColor('#b50002');
client.debug_channel.send(embed);
console.error(error);
}
};

17
struct/funcs/msToTime.js Normal file
View File

@ -0,0 +1,17 @@
module.exports = function msToTime(duration, format) {
var seconds = Math.floor((duration / 1000) % 60),
minutes = Math.floor((duration / (1000 * 60)) % 60),
hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
days = Math.floor((duration / (1000 * 60 * 60 * 24)) % 24);
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
seconds = (seconds < 10) ? "0" + seconds : seconds;
if (format === "hh:mm:ss") {
return `${hours}:${minutes}:${seconds}`;
} else if (format === "dd:hh:mm:ss") {
return `${days}:${hours}:${minutes}:${seconds}`;
}
}

View File

@ -5,7 +5,7 @@ module.exports = async function (guild, client, url) {
.play(url, { bitrate: 1024, passes: 10, volume: 1, highWaterMark: 1 << 25 })
.on("finish", () => {
radio.voiceChannel.leave();
radio.delete();
client.radio.delete(guild.id);
return;
});
dispatcher.on('start', () => {
@ -13,7 +13,6 @@ module.exports = async function (guild, client, url) {
});
dispatcher.on('error', error => {
console.error(error);
client.channels.fetch(client.config.debug_channel).send('Error with the dispatcher: ' + error);
radio.voiceChannel.leave();
client.radio.delete(guild.id);
return radio.textChannel.send('<:redx:674263474704220182> An error has occured while playing radio!');