diff --git a/Bot.js b/Bot.js index 96f201b..6c08f06 100644 --- a/Bot.js +++ b/Bot.js @@ -20,8 +20,7 @@ const Discord = require('discord.js'); const colors = require("colors"); const fs = require("fs"); -//const config = require ("./config.json"); -const token = process.env.token; +const config = require ("./config.json"); const settings = require ("./settings.json"); const client = new Discord.Client(); const activities_list = [ @@ -116,17 +115,24 @@ fs.readdir('./commands', (err, files) => { try{ embed.setTitle("Bot is online"); - embed.addField('Suzu is now starting up', 'The bot has started. This may be due to a crash or an owner calling the reset function. please wait for the inicator to turn green before sending any commands, just incase.'); + embed.addField('SuzuBETA is now starting up', 'The bot has started. This may be due to a crash or an owner calling the reset function. please wait for the inicator to turn green before sending any commands, just incase.'); embed.setColor(0xfff400); + embed.setThumbnail('https://media.giphy.com/media/12zgfBTa1weBvoGGNn/giphy.gif'); embed.setFooter("Use " + settings.prefix + "help to see all of my commands"); let msg = await channel.send({embed}) setTimeout(() => { var round = Math.round(client.ping); - embed.setColor(0x16ff00); + embed.setColor(0xfff400); embed.addField('Client Ping', ':signal_strength: The client took ' + round + 'ms to respond.' ) msg.edit({embed}); console.log(`Bot is ready!`.green); - }, 3000); + }, 6000); + setTimeout(() => { + embed.setColor(0x16ff00); + embed.setThumbnail("https://cdn.discordapp.com/attachments/547952873355476992/547958234812514305/done.png"); + embed.addField('you may now use Suzu', `client successfully started on ${new Date()}`) + msg.edit({embed}); + }, 9000); } catch (error) { console.log(error); @@ -181,14 +187,6 @@ client.on('message', msg => { if(msg.content.startsWith('y\'all')){ msg.reply('I can see you are a southerner as well') } - if(!coins[msg.author.id]){ - coins[msg.author.id] = { - coins: 0 - }; - } - - - else if(msg.content.startsWith(settings.prefix) == null){ let embed = new Discord.RichEmbed(); embed.setTitle("Unknown Command"); @@ -199,7 +197,6 @@ client.on('message', msg => { } catch (error) { console.log(error) } - }); @@ -261,7 +258,7 @@ client.on('guildMemberAdd', member => { console.log(error) } }); -client.login(token).catch(function() { +client.login(config.token).catch(function() { console.log('Login failed. The token that you put in is invalid, please put in a new one...'.red); process.exit(0); }); \ No newline at end of file diff --git a/commands/about.js b/commands/about.js index b5e07c0..ab3ce02 100644 --- a/commands/about.js +++ b/commands/about.js @@ -1,6 +1,6 @@ /**************************************** * - * About: Command for Suzu + * Balance: Command for Suzu * Copyright (C) 2019 Designed and Programed by Ree and ServerLion * * This program is free software: you can redistribute it and/or modify @@ -18,18 +18,18 @@ * * *************************************/ module.exports.run = async (client, msg) => { - const Discord = require('discord.js'); - let embed = new Discord.RichEmbed(); - embed.setTitle("About Bot"); - embed.setColor(0x16ff00); - embed.setDescription('Suzu is a multi purpose bot designed to function in the Hovercar Dodge discord server') - embed.addField("Developers", "Rest in peace, Opportunity.#9105\nServerLion#1789\nAlee#0014"); - embed.addField("Links", "[Github](https://github.com/cjthomp2005/Suzu)\n[Discord](https://discord.gg/t9JTUb)"); - embed.setFooter("Use "+require('../settings.json').prefix+"help to see all of my commands"); - msg.channel.send({embed}) + const Discord = require('discord.js'); + let embed = new Discord.RichEmbed(); + embed.setTitle("About Bot"); + embed.setColor(0x16ff00); + embed.setDescription('Suzu is a multi purpose bot designed to function in the Thompson Developer Studios discord server') + embed.addField("IMPORTANT:", "this is a development build, it may not be stable.") + embed.addField("Developers", "Swingin30#9105\nServerLion#1789\nAlee#0014"); + embed.addField("Links", "[Github](https://github.com/cjthomp2005/Suzu)\n[Discord](https://discord.gg/t9JTUb)"); + embed.setFooter("Use "+require('../settings.json').prefix+"help to see all of my commands"); + msg.channel.send({embed}) }; - exports.conf = { aliases: [], guildOnly: true, diff --git a/commands/balance.js b/commands/balance.js new file mode 100644 index 0000000..3fdc2e8 --- /dev/null +++ b/commands/balance.js @@ -0,0 +1,38 @@ +/**************************************** + * + * About: Command for Suzu + * Copyright (C) 2019 Designed and Programed by Ree and ServerLion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * *************************************/ +module.exports.run = async (client, msg) => { + const Discord = require('discord.js'); + let embed = new Discord.RichEmbed(); + embed.setTitle("hold up cowboy"); + embed.setColor(0xff0000); + embed.setDescription('this is a development version of suzu, this command has not been implemented and is just a placeholder. we really are sorry, but if your seeing this message it means we are working on it!') + embed.setFooter("Use "+require('../settings.json').prefix+"help to see all of my commands"); + msg.channel.send({embed}) +}; +exports.conf = { + aliases: [], + guildOnly: true, +}; +exports.help = { + name: 'balance', + description: 'The about command', + usage: 'balance', + category: '- Economy Commands', +}; diff --git a/commands/functions.js b/commands/functions.js new file mode 100644 index 0000000..850e9c0 --- /dev/null +++ b/commands/functions.js @@ -0,0 +1,47 @@ +/**************************************** + * + * About: Command for Suzu + * Copyright (C) 2019 Designed and Programed by Ree and ServerLion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * *************************************/ +module.exports.run = async (client, msg) => { + const Discord = require('discord.js'); + let embed = new Discord.RichEmbed(); + embed.setTitle("Bot functions"); + embed.setColor(0xFFFF00); + embed.setDescription('a private message has been sent to you containing everything the bot does and what data it collects.') + embed.setFooter("Use "+require('../settings.json').prefix+"help to see all of my commands. these commands can only be used in Servers and not DMs"); + msg.channel.send({embed}) + + let sembed = new Discord.RichEmbed + sembed.setTitle("Bot functions") + sembed.setColor(0xFFFF00); + sembed.setDescription("you requested that I send all of my functions too you.") + sembed.addField("moderation", "the bot collects to following information and alerts the moderation team\n-edited messages\n-deleted messages\n-name changes\n-times at which messages were edited or deleted\n-times at which members joined or leaved the server") + sembed.addField("what can Suzu do?", "suzu can do many things, right now Suzu is able to\n-grab a users profile picture\n-find the client ping\n-restart itself\n-kick and ban people\n-nuke channels\n-read and write information for economy") + sembed.setFooter("Use "+require('../settings.json').prefix+"help to see all of my commands. these commands can only be used in Servers and not DMs"); + msg.author.send({sembed}) +}; +exports.conf = { + aliases: ['f'], + guildOnly: true, +}; +exports.help = { + name: 'functions', + description: 'sends a private message to the author of all of the functions of the bot, and what data the bot collects.', + usage: 'functions', + category: '- Utility Commands', +}; diff --git a/commands/help.js b/commands/help.js index 2e98e3d..f18027e 100644 --- a/commands/help.js +++ b/commands/help.js @@ -35,7 +35,7 @@ module.exports.run = async (client, message) => { .setAuthor(`Suzu Help and on ${client.guilds.size} servers`, client.user.avatarURL) .setDescription('Every command you input into Suzu is `' + require('../settings.json').prefix + '`') .setColor(0x16ff00) - .setFooter('Designed and Programed by Ree and ServerLion Copyright 2019, Licensed with GPL-3.0'); + .setFooter('Designed and Programed by Swingin30, Alee and ServerLion Copyright 2019, Licensed with GPL-3.0'); categories.forEach(function(x) { let cat = ''; diff --git a/commands/nuke.js b/commands/nuke.js index a2dfa7e..2db7e79 100644 --- a/commands/nuke.js +++ b/commands/nuke.js @@ -22,7 +22,7 @@ module.exports.run = async (client, msg) => { msg.reply("Hold up! You aren't allowed to nuke messages!"); return; } - msg.channel.send(":radioactive: Nuking Channel..."); + msg.channel.send(":radioactive: incoming!"); msg.channel.bulkDelete(99, true); msg.channel.send(":radioactive: Nuked Channel."); }; diff --git a/commands/pic.js b/commands/pic.js index ef69e27..3d61c6c 100644 --- a/commands/pic.js +++ b/commands/pic.js @@ -20,25 +20,25 @@ module.exports.run = async (client, msg) => { const Discord = require('discord.js'); let user = msg.mentions.users.first(); - if (user) { - const member = msg.guild.member(user); - if (member) { - let embed = new Discord.RichEmbed(); - embed.setTitle("Profile Picture"); - embed.setColor(0x16ff00); - embed.setImage(user.avatarURL); - embed.setFooter("Use "+prefix+"help to see all of my commands"); - msg.channel.send({embed}); - } - }else{ - let embed = new Discord.RichEmbed(); - embed.setTitle("Profile Picture"); - embed.setColor(0x16ff00); - embed.setDescription("I must say, you look flattering! :stuck_out_tongue_winking_eye:") - embed.setImage(msg.author.avatarURL); - embed.setFooter("Use "+require('../settings.json').prefix+"help to see all of my commands"); - msg.channel.send({embed}); - } + if (user) { + const member = msg.guild.member(user); + if (member) { + let embed = new Discord.RichEmbed(); + embed.setTitle("Profile Picture"); + embed.setColor(0x16ff00); + embed.setImage(user.avatarURL); + embed.setFooter("use suzu:help to see all of my commands"); + msg.channel.send({embed}); + } + }else{ + let embed = new Discord.RichEmbed(); + embed.setTitle("Profile Picture"); + embed.setColor(0x16ff00); + embed.setDescription("I must say, you look flattering! :stuck_out_tongue_winking_eye:") + embed.setImage(msg.author.avatarURL); + embed.setFooter("use suzu:help to see all of my commands"); + msg.channel.send({embed}); + } }; exports.conf = { @@ -48,6 +48,6 @@ exports.conf = { exports.help = { name: 'pic', description: 'The pic command', - usage: 'pic', + usage: 'pic ', category: '- Utility Commands', }; diff --git a/commands/ping.js b/commands/ping.js index cc8b351..b86a989 100644 --- a/commands/ping.js +++ b/commands/ping.js @@ -23,7 +23,7 @@ module.exports.run = async (client, msg) => { let embed = new Discord.RichEmbed(); embed.setTitle("Client Ping"); embed.setColor(0x16ff00); - embed.setDescription(`:signal_strength: It took me ** ${Math.round(client.ping)} ms ** to respond.`); + embed.setDescription(`:signal_strength: It took me **${Math.round(client.ping)}ms** to respond.`); embed.setFooter("Use "+ require('../settings.json').prefix +"help to see all of my commands"); msg.channel.send({embed}); }; diff --git a/commands/poweroff.js b/commands/poweroff.js index 9abf0a9..8868904 100644 --- a/commands/poweroff.js +++ b/commands/poweroff.js @@ -21,18 +21,25 @@ module.exports.run = async (client, msg) => { const Discord = require('discord.js'); if (msg.author.id == "472923135965003786" || msg.author.id == "299314446428274689" || msg.author.id == "242775871059001344"){ let channel = client.channels.find(ch => ch.id === '539142431552176139'); - msg.reply("Suzu is now powering off...") - console.log('Powering off...') + msg.reply("Suzu is now powering off..."); + console.log('Powering off...'); let embed = new Discord.RichEmbed(); embed.setTitle("Powering off..."); embed.setColor(0xff0000); embed.setDescription('Suzu will now poweroff.'); + embed.setThumbnail('https://media.giphy.com/media/12zgfBTa1weBvoGGNn/giphy.gif'); embed.setFooter("This may take a while..."); - channel.send({embed}) + let reply = await channel.send({embed}) client.user.setStatus('invisible'); - setTimeout(function(){ - process.exit(0); + setTimeout(() =>{ + embed.setThumbnail("https://cdn.discordapp.com/attachments/547952873355476992/547958234812514305/done.png"); + embed.setDescription("suzu has powered off!"); + embed.setFooter("done!"); + reply.edit({embed}) }, 3000); + setTimeout(() =>{ + process.exit(0); + }, 4000); } else { msg.reply("Hold up! You aren't a dev! :thinking:"); return; @@ -47,5 +54,5 @@ exports.help = { name: 'poweroff', description: 'The power off command', usage: 'poweroff', - category: '- Staff Commands', + category: '- DEV commands', }; diff --git a/commands/test.js b/commands/test.js new file mode 100644 index 0000000..9533b52 --- /dev/null +++ b/commands/test.js @@ -0,0 +1,33 @@ +/**************************************** + * + * Ping: Command for Suzu + * Copyright (C) 2019 Designed and Programed by Ree and ServerLion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * *************************************/ +module.exports.run = async (client, msg) => { + msg.author.send("test :)") +}; + +exports.conf = { + aliases: [], + guildOnly: true, +}; +exports.help = { + name: 'test', + description: 'The ping command', + usage: 'test', + category: '- Temporary', +}; diff --git a/package.json b/package.json index a90eef7..83ce186 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Developed by Christian (Rest in peace, Opportunity.#9105) and Nayab (ServerLion#1789)\r please do not clone this software and market it as your own, thanks again.", "main": "Bot.js", "scripts": { - "start": "node Bot.js" + "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", diff --git a/settings.json b/settings.json index d1344ad..ba83258 100644 --- a/settings.json +++ b/settings.json @@ -1,3 +1,3 @@ { - "prefix": "suzu:" + "prefix": "suzu]" } \ No newline at end of file