Initial Commit

This commit is contained in:
Daniel Odendahl
2017-03-02 18:23:16 -05:00
commit 3feaf2a99b
178 changed files with 3840 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
const commando = require('discord.js-commando');
const Jimp = require("jimp");
class YearsCommand extends commando.Command {
constructor(Client){
super(Client, {
name: '3000years',
group: 'avataredit',
memberName: '3000years',
description: "It's been 3000 years... (;3000years @User)",
examples: [';3000years @user']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
if (message.mentions.users.size !== 1) {
message.reply(':x: Either too many or no members, only mention one person!');
} else {
if(message.mentions.users.first().avatarURL === null) {
message.reply(":x: This person has no avatar!");
} else {
let avatarurl = message.mentions.users.first().avatarURL;
avatarurl = avatarurl.replace(".jpg", ".png");
avatarurl = avatarurl.replace(".gif", ".png");
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage("It's been 3000 years " + username + "...");
let images = [];
images.push(Jimp.read(avatarurl));
images.push(Jimp.read("./images/3000years.png"));
Promise.all(images).then(([avatar, years]) => {
avatar.resize(200, 200);
years.blit(avatar, 461, 127);
years.getBuffer(Jimp.MIME_PNG, (err, buff) => {
if (err) throw err;
message.channel.sendFile(buff);
});
});
}
}
}
}
module.exports = YearsCommand;
+51
View File
@@ -0,0 +1,51 @@
const commando = require('discord.js-commando');
const Jimp = require("jimp");
class BeautifulCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'beautiful',
group: 'avataredit',
memberName: 'beautiful',
description: 'Oh, this? This is beautiful. (;beautiful @User)',
examples: [';beautiful @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
if (message.mentions.users.size !== 1) {
message.reply(':x: Either too many or no members, only mention one person!');
} else {
if(message.mentions.users.first().avatarURL === null) {
message.reply(":x: This person has no avatar!");
} else {
let avatarurl = message.mentions.users.first().avatarURL;
avatarurl = avatarurl.replace(".jpg", ".png");
avatarurl = avatarurl.replace(".gif", ".png");
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage('This? ' + username + " is beautiful.");
let images = [];
images.push(Jimp.read(avatarurl));
images.push(Jimp.read("./images/beautiful.jpg"));
Promise.all(images).then(([avatar, beautiful]) => {
avatar.resize(200, 200);
beautiful.blit(avatar, 432, 42);
avatar.resize(190, 190);
beautiful.blit(avatar, 451, 434);
beautiful.getBuffer(Jimp.MIME_PNG, (err, buff) => {
if (err) throw err;
message.channel.sendFile(buff);
});
});
}
}
}
}
module.exports = BeautifulCommand;
+52
View File
@@ -0,0 +1,52 @@
const commando = require('discord.js-commando');
const Jimp = require("jimp");
class BobRossCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'bobross',
group: 'avataredit',
memberName: 'bobross',
description: "Make Bob Ross draw your avatar. (;bobross @User)",
examples: [';bobross @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
if (message.mentions.users.size !== 1) {
message.reply(':x: Either too many or no members, only mention one person!');
} else {
if(message.mentions.users.first().avatarURL === null) {
message.reply(":x: This person has no avatar!");
} else {
let avatarurl = message.mentions.users.first().avatarURL;
avatarurl = avatarurl.replace(".jpg", ".png");
avatarurl = avatarurl.replace(".gif", ".png");
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(username + "...");
let images = [];
images.push(Jimp.read(avatarurl));
images.push(Jimp.read("./images/BobRoss.png"));
images.push(Jimp.read("./images/BlankWhite.png"));
Promise.all(images).then(([avatar, bob, nothing]) => {
avatar.rotate(2);
avatar.resize(300, 300);
nothing.composite(avatar, 44, 85);
nothing.composite(bob, 0, 0);
nothing.getBuffer(Jimp.MIME_PNG, (err, buff) => {
if (err) throw err;
message.channel.sendFile(buff);
});
});
}
}
}
}
module.exports = BobRossCommand;
+49
View File
@@ -0,0 +1,49 @@
const commando = require('discord.js-commando');
const Jimp = require("jimp");
class RIPCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'rip',
group: 'avataredit',
memberName: 'rip',
description: 'Puts a profile picture over a gravestone. (;rip @User)',
examples: [';rip @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
if (message.mentions.users.size !== 1) {
message.reply(':x: Either too many or no members, only mention one person!');
} else {
if(message.mentions.users.first().avatarURL === null) {
message.reply(":x: This person has no avatar!");
} else {
let avatarurl = message.mentions.users.first().avatarURL;
avatarurl = avatarurl.replace(".jpg", ".png");
avatarurl = avatarurl.replace(".gif", ".png");
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage('RIP ' + username + "...");
let images = [];
images.push(Jimp.read(avatarurl));
images.push(Jimp.read("./images/gravestone.jpg"));
Promise.all(images).then(([avatar, gravestone]) => {
avatar.resize(200, 200);
gravestone.blit(avatar, 60, 65);
gravestone.getBuffer(Jimp.MIME_PNG, (err, buff) => {
if (err) throw err;
message.channel.sendFile(buff);
});
});
}
}
}
}
module.exports = RIPCommand;
+5
View File
@@ -0,0 +1,5 @@
{
"banned": {
"155112606661607425": "155112606661607425"
}
}
+31
View File
@@ -0,0 +1,31 @@
const commando = require('discord.js-commando');
const banlist = require('./banlist.json');
class ContactCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'contact',
group: 'botinfo',
memberName: 'contact',
description: 'Report bugs or request new features. (;contact Fix this command!)',
examples: [';contact Fix this command!']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let banid = message.author.id;
if (message.author.id === banlist.banned[banid]) {
message.reply("Sorry, you've been banned from using this command.");
} else {
this.client.users.get('242699360352206850').sendMessage("**" + message.author.username + '#' + message.author.discriminator + " (" + message.author.id + ")" + ":**\n" + message.content.split(" ").slice(1).join(" "));
message.reply('Message Sent! Thanks for your support!');
}
}
}
module.exports = ContactCommand;
+73
View File
@@ -0,0 +1,73 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
const config = require("../../config.json");
class InfoCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'info',
group: 'botinfo',
memberName: 'info',
description: 'Gives some bot info. (;info)',
examples: [';info']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
}
console.log("[Command] " + message.content);
const toHHMMSS = seconds => {
let secNum = parseInt(seconds, 10);
let hours = Math.floor(secNum / 3600);
let minutes = Math.floor((secNum - (hours * 3600)) / 60);
seconds = secNum - (hours * 3600) - (minutes * 60);
if (hours < 10) hours = "0" + hours;
if (minutes < 10) minutes = "0" + minutes;
if (seconds < 10) seconds = "0" + seconds;
return hours + ":" + minutes + ":" + seconds;
};
const embed = new Discord.RichEmbed()
.setTitle('Welcome to XiaoBot!')
.setAuthor(this.client.user.username, this.client.user.avatarURL)
.setColor(0x00AE86)
.setDescription('XiaoBot is your personal companion for your Discord Server!')
.setFooter('©2017 dragonfire535', this.client.user.avatarURL)
.setThumbnail(this.client.user.avatarURL)
.setURL('http://dragonfire535.tk')
.addField('Commands',
"There are a variety of commands XiaoBot can use! Use ';help' to view a list of all commands!")
.addField('Servers',
this.client.guilds.size, true)
.addField('Users',
this.client.users.size, true)
.addField('Commands',
config.commandcount, true)
.addField('Owner',
"dragonfire535#8081", true)
.addField('Uptime',
toHHMMSS(process.uptime()), true)
.addField('Node Version',
"7.6.0", true)
.addField('Host',
"[Heroku](https://www.heroku.com/)", true)
.addField('Source Code',
"[View Here](https://github.com/dragonfire535/xiaobot)", true)
.addField('Lib',
"[discord.js](https://discord.js.org/#/) (master)", true)
.addField('Packages',
"[Commando](https://github.com/Gawdl3y/discord.js-commando) (0.9.0), [cleverbot-node](https://github.com/fojas/cleverbot-node) (0.3.3), [pirate-speak](https://github.com/mikewesthad/pirate-speak) (1.0.1), [JIMP](https://github.com/oliver-moran/jimp) (0.2.27), [google-translate-api](https://github.com/matheuss/google-translate-api) (2.2.2)")
.addField('Other Credit',
"[Cleverbot API](https://www.cleverbot.com/api/)")
.addField('My Server',
"[Click Here to Join!](https://discord.gg/fqQF8mc)")
.addField('Invite Link:',
"[Click Here to Add Me to Your Server!](https://discordapp.com/oauth2/authorize?client_id=278305350804045834&scope=bot&permissions=519238)");
message.channel.sendEmbed(embed).catch(console.error);
}
}
module.exports = InfoCommand;
+24
View File
@@ -0,0 +1,24 @@
const commando = require('discord.js-commando');
class InviteCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'invite',
group: 'botinfo',
memberName: 'invite',
description: 'Sends you an invite for the bot, or an invite to my server, Heroes of Dreamland. (;invite)',
examples: [';invite']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
message.reply("\nAdd me to your server with this link:\n" + "https://discordapp.com/oauth2/authorize?client_id=278305350804045834&scope=bot&permissions=519238" + "\nOr, come to my server with this link:\n" + "https://discord.gg/fqQF8mc");
}
}
module.exports = InviteCommand;
+35
View File
@@ -0,0 +1,35 @@
const commando = require('discord.js-commando');
class UptimeCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'uptime',
group: 'botinfo',
memberName: 'uptime',
description: 'Displays how long the bot has been active. (;uptime)',
examples: [';uptime']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
const toHHMMSS = seconds => {
let secNum = parseInt(seconds, 10);
let hours = Math.floor(secNum / 3600);
let minutes = Math.floor((secNum - (hours * 3600)) / 60);
seconds = secNum - (hours * 3600) - (minutes * 60);
if (hours < 10) hours = "0" + hours;
if (minutes < 10) minutes = "0" + minutes;
if (seconds < 10) seconds = "0" + seconds;
return hours + ":" + minutes + ":" + seconds;
};
let guilds = this.client.guilds.array().length;
message.channel.sendMessage("**Uptime: " + toHHMMSS(process.uptime()) + "** in " + guilds + " Servers.");
}
}
module.exports = UptimeCommand;
+47
View File
@@ -0,0 +1,47 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
class GuildInfoCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'server',
group: 'guildinfo',
memberName: 'server',
description: 'Gives some info on the current server. (;server)',
examples: [';server']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
}
console.log("[Command] " + message.content);
if (message.channel.type === 'dm') {
message.reply(":x: This is a DM!");
} else {
const embed = new Discord.RichEmbed()
.setColor(0x00AE86)
.setThumbnail(message.guild.iconURL)
.addField('**Name:**',
message.guild.name, true)
.addField('**ID:**',
message.guild.id, true)
.addField('**Created On:**',
message.guild.createdAt, true)
.addField('**Default Channel:**',
message.guild.defaultChannel, true)
.addField('**Region:**',
message.guild.region, true)
.addField('**Owner:**',
message.guild.owner.user.username + '#' + message.guild.owner.user.discriminator, true)
.addField("**Users:**",
message.guild.memberCount, true);
message.channel.sendEmbed(embed).catch(console.error);
}
}
}
module.exports = GuildInfoCommand;
+60
View File
@@ -0,0 +1,60 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
class BanCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'ban',
group: 'moderation',
memberName: 'ban',
description: 'Bans a user. (;ban @User being a jerk. **Note: You must have a channel called "mod_logs!"**)',
examples: [";ban @User being a jerk. **Note: You must have a channel called 'mod_logs!**"]
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('KICK_MEMBERS')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('BAN_MEMBERS')) return;
}
console.log("[Command] " + message.content);
if (message.channel.type === 'dm') {
message.reply(":x: This is a DM!");
} else {
let username = message.mentions.users.first();
let member = message.guild.member(message.mentions.users.first());
let reason = message.content.split(" ").slice(2).join(" ");
if (message.mentions.users.size !== 1) {
message.reply(":x: Either too many or no members, only mention one person!");
} else {
if(message.member.hasPermission('BAN_MEMBERS')) {
if(member.bannable === true) {
message.channel.sendMessage(":ok_hand:");
message.guild.member(username).ban();
if(message.guild.channels.exists("name", "mod_logs")) {
const embed = new Discord.RichEmbed()
.setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL)
.setColor(0xFF0000)
.setFooter('XiaoBot Moderation', this.client.user.avatarURL)
.setTimestamp()
.addField('Information',
'**Member:** ' + username.username + '#' + username.discriminator + ' (' + username.id + ')\n**Action:** Ban\n**Reason:** ' + reason);
message.guild.channels.find('name', 'mod_logs').sendEmbed(embed).catch(console.error);
} else {
message.reply("**Note: No log will be sent, as there is not a channel named 'mod_logs'. Please create it to use the logging feature.**");
}
} else {
message.reply(":x: This member cannot be banned!");
}
} else {
message.channel.sendMessage(":x: You don't have the Ban Members Permission!");
}
}
}
}
}
module.exports = BanCommand;
+60
View File
@@ -0,0 +1,60 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
class KickCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'kick',
group: 'moderation',
memberName: 'kick',
description: 'Kicks a user. (;kick @User being a jerk **Note: You must have a channel called "mod_logs!"**)',
examples: [";kick @User being a jerk. **Note: You must have a channel called 'mod_logs!**"]
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('KICK_MEMBERS')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('BAN_MEMBERS')) return;
}
console.log("[Command] " + message.content);
if (message.channel.type === 'dm') {
message.reply(":x: This is a DM!");
} else {
let username = message.mentions.users.first();
let member = message.guild.member(message.mentions.users.first());
let reason = message.content.split(" ").slice(2).join(" ");
if (message.mentions.users.size !== 1) {
message.reply(":x: Either too many or no members, only mention one person!");
} else {
if(message.member.hasPermission('KICK_MEMBERS')) {
if(member.kickable === true) {
message.channel.sendMessage(":ok_hand:");
message.guild.member(username).kick();
if(message.guild.channels.exists("name", "mod_logs")) {
const embed = new Discord.RichEmbed()
.setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL)
.setColor(0xFFA500)
.setFooter('XiaoBot Moderation', this.client.user.avatarURL)
.setTimestamp()
.addField('Information',
'**Member:** ' + username.username + '#' + username.discriminator + ' (' + username.id + ')\n**Action:** Kick\n**Reason:** ' + reason);
message.guild.channels.find('name', 'mod_logs').sendEmbed(embed).catch(console.error);
} else {
message.reply("**Note: No log will be sent, as there is not a channel named 'mod_logs'. Please create it to use the logging feature.**");
}
} else {
message.reply(":x: This member cannot be kicked!");
}
} else {
message.reply(":x: You don't have the Kick Members Permission!");
}
}
}
}
}
module.exports = KickCommand;
+54
View File
@@ -0,0 +1,54 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
class WarnCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'warn',
group: 'moderation',
memberName: 'warn',
description: 'Warns a user. (;warn @User being a jerk **Note: You must have a channel called "mod_logs!"**)',
examples: [";warn @User being a jerk. **Note: You must have a channel called 'mod_logs!**"]
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('KICK_MEMBERS')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('BAN_MEMBERS')) return;
}
console.log("[Command] " + message.content);
if (message.channel.type === 'dm') {
message.reply(":x: This is a DM!");
} else {
let username = message.mentions.users.first();
let reason = message.content.split(" ").slice(2).join(" ");
if (message.mentions.users.size !== 1) {
message.reply(":x: Either too many or no members, only mention one person!");
} else {
if(message.member.hasPermission('KICK_MEMBERS')) {
message.channel.sendMessage(":ok_hand:");
if(message.guild.channels.exists("name", "mod_logs")) {
const embed = new Discord.RichEmbed()
.setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL)
.setColor(0xFFFF00)
.setFooter('XiaoBot Moderation', this.client.user.avatarURL)
.setTimestamp()
.addField('Information',
'**Member:** ' + username.username + '#' + username.discriminator + ' (' + username.id + ')\n**Action:** Warn\n**Reason:** ' + reason);
message.guild.channels.find('name', 'mod_logs').sendEmbed(embed).catch(console.error);
} else {
message.reply("**Note: No log will be sent, as there is not a channel named 'mod_logs'. Please create it to use the logging feature.**");
}
} else {
message.channel.sendMessage(":x: You don't have the Kick Members Permission!");
}
}
}
}
}
module.exports = WarnCommand;
File diff suppressed because it is too large Load Diff
+41
View File
@@ -0,0 +1,41 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
const pokedex = require('./pkdex.json');
class PokedexCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'pokedex',
group: 'pokemon',
memberName: 'pokedex',
description: 'Gives the pokedex entry for a Pokemon. (;pokedex Pikachu)',
examples: [';pokedex Pikachu']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
}
console.log("[Command] " + message.content);
let pokemon = message.content.toLowerCase().split(" ").slice(1).join(" ");
if (pokedex.name[pokemon]) {
const embed = new Discord.RichEmbed()
.setTitle('Information')
.setAuthor(pokedex.name[pokemon], pokedex.sprite[pokemon])
.setColor(0xFF0000)
.setDescription(pokedex.species[pokemon])
.setFooter(pokedex.dexname, pokedex.dexicon)
.setThumbnail(pokedex.picture[pokemon])
.addField('Entry',
pokedex.entry[pokemon])
.addField('Type',
pokedex.type[pokemon]);
message.channel.sendEmbed(embed).catch(console.error);
} else {message.reply(":x: This Pokémon either doesn't exist, or isn't implemented yet.");}
}
}
module.exports = PokedexCommand;
+24
View File
@@ -0,0 +1,24 @@
const commando = require('discord.js-commando');
class CanYouNot extends commando.Command {
constructor(Client){
super(Client, {
name: 'canyounot',
group: 'random',
memberName: 'canyounot',
description: 'Can YOU not? (;canyounot)',
examples: [';canyounot']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
message.reply('Can YOU not?');
}
}
module.exports = CanYouNot;
+24
View File
@@ -0,0 +1,24 @@
const commando = require('discord.js-commando');
class GiveFlowerCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'giveflower',
group: 'random',
memberName: 'giveflower',
description: 'Gives Xiao Pai a flower. (;giveflower)',
examples: [';giveflower']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
message.reply('Ooh, what a pretty flower. What, I may have it? Thanks! I like flowers, yes? ♪');
}
}
module.exports = GiveFlowerCommand;
+29
View File
@@ -0,0 +1,29 @@
const commando = require('discord.js-commando');
class LotteryCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'lottery',
group: 'random',
memberName: 'lottery',
description: '1 in 100 Chance of Winning. Winners get... The feeling of winning? (;lottery)',
examples: [';lottery']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let lotterynumber = ['Winner'][Math.floor(Math.random() * 100)];
if(lotterynumber === "Winner") {
message.reply("Wow! You actually won! Great job!");
} else {
message.reply("Nope, sorry, you lost. RIP you.");
}
}
}
module.exports = LotteryCommand;
+24
View File
@@ -0,0 +1,24 @@
const commando = require('discord.js-commando');
class SlowClapCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'slowclap',
group: 'random',
memberName: 'slowclap',
description: '*Slow Clap*. (;slowclap)',
examples: [';slowclap']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
message.reply('*slow clap*');
}
}
module.exports = SlowClapCommand;
+26
View File
@@ -0,0 +1,26 @@
const commando = require('discord.js-commando');
class SpamCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'spam',
group: 'random',
memberName: 'spam',
description: 'Puts a picture of Spam. (;spam)',
examples: [';spam']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
message.reply("Spam!");
message.channel.sendFile("./images/Spam.jpg");
}
}
module.exports = SpamCommand;
+30
View File
@@ -0,0 +1,30 @@
const commando = require('discord.js-commando');
class MagicBall extends commando.Command {
constructor(Client){
super(Client, {
name: '8ball',
group: 'response',
memberName: '8ball',
description: 'Predicts your future. (;8ball Am I stupid?)',
examples: [';8ball <INSERT QUESTION HERE>']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.author;
let question = message.content.split(" ").slice(1).join(" ");
let coin = ['It seems the answer is yes, yes?', 'It seems the answer is no.', 'It is a little doubtful, yes?', 'It seems it is very likely to be true.'][Math.floor(Math.random() * 4)];
if(question === "") {
question = "Not Specified."
}
message.channel.sendMessage(username + " asked: " + question + "\n:8ball: " + coin + " :8ball:");
}
}
module.exports = MagicBall;
+27
View File
@@ -0,0 +1,27 @@
const commando = require('discord.js-commando');
class RandomCat extends commando.Command {
constructor(Client){
super(Client, {
name: 'cat',
group: 'response',
memberName: 'cat',
description: 'Sends a random cat picture. (;cat)',
examples: [';cat']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
let cat = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.jpg", "9.jpg", "10.jpg", "11.jpeg", "12.jpg", "13.jpeg", "14.png", "15.jpg", "16.jpg", "17.jpg", "18.jpg", "19.jpg", "20.jpg"][Math.floor(Math.random() * 20)];
message.reply("Meow!");
message.channel.sendFile("./images/Cat" + cat);
}
}
module.exports = RandomCat;
+31
View File
@@ -0,0 +1,31 @@
const commando = require('discord.js-commando');
class ChooseCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'choose',
group: 'response',
memberName: 'choose',
description: 'Chooses between two things. (;choose Cow | Sheep)',
examples: [';choose Cow | Sheep']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
if(message.content.includes("|")) {
let choice2 = message.content.split("|").slice(1).join(" ");
let choice1 = " " + message.content.replace(choice2, "").split(" ").slice(1).join(" ");
let coin = [choice1, choice2][Math.floor(Math.random() * 2)];
message.reply("I choose" + coin.replace("|", ""));
} else {
message.reply(":x: Split your two choices with a ' | '!");
}
}
}
module.exports = ChooseCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class CoinFlipCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'coin',
group: 'response',
memberName: 'coin',
description: 'Flips a coin. (;coin)',
examples: [';coin']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let coin = ['Heads', 'Tails'][Math.floor(Math.random() * 2)];
message.reply("It landed on " + coin);
}
}
module.exports = CoinFlipCommand;
+30
View File
@@ -0,0 +1,30 @@
const commando = require('discord.js-commando');
class ComplimentCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'compliment',
group: 'response',
memberName: 'compliment',
description: 'Compliments the user of your choice. (;compliment @User)',
examples: [';compliment @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
let coin = ["Your smile is contagious.", "You look great today.", "You're a smart cookie.", "I bet you make babies smile.", "You have impeccable manners.", "I like your style.", "You have the best laugh.", "I appreciate you.", "You are the most perfect you there is.", "You are enough.", "You're strong.", "Your perspective is refreshing.", "You're an awesome friend.", "You light up the room.", "You shine brighter than a shooting star.", "You deserve a hug right now.", "You should be proud of yourself.", "You're more helpful than you realize.", "You have a great sense of humor.", "You've got all the right moves!", "Is that your picture next to 'charming' in the dictionary?", "Your kindness is a balm to all who encounter it.", "You're all that and a super-size bag of chips.", "On a scale from 1 to 10, you're an 11.", "You are brave.", "You're even more beautiful on the inside than you are on the outside.", "You have the courage of your convictions.", "Your eyes are breathtaking.", "If cartoon bluebirds were real, a bunch of them would be sitting on your shoulders singing right now.", "You are making a difference.", "You're like sunshine on a rainy day.", "You bring out the best in other people.", "Your ability to recall random factoids at just the right time is impressive.", "You're a great listener.", "How is it that you always look great, even in sweatpants?", "Everything would be better if more people were like you!", "I bet you sweat glitter.", "You were cool way before hipsters were cool.", "That color is perfect on you.", "Hanging out with you is always a blast.", "You always know -- and say -- exactly what I need to hear when I need to hear it.", "You smell really good.", "You may dance like no one's watching, but everyone's watching because you're an amazing dancer!", "Being around you makes everything better!", "When you say, 'I meant to do that,' I totally believe you.", "When you're not afraid to be yourself is when you're most incredible.", "Colors seem brighter when you're around.", "You're more fun than a ball pit filled with candy. (And seriously, what could be more fun than that?)", "That thing you don't like about yourself is what makes you so interesting.", "You're wonderful.", "You have cute elbows. For reals!", "Jokes are funnier when you tell them.", "You're better than a triple-scoop ice cream cone. With sprinkles.", "Your bellybutton is kind of adorable.", "Your hair looks stunning.", "You're one of a kind!", "You're inspiring.", "If you were a box of crayons, you'd be the giant name-brand one with the built-in sharpener.", "You should be thanked more often. So thank you!!", "Our community is better because you're in it.", "Someone is getting through something hard right now because you've got their back.", "You have the best ideas.", "You always know how to find that silver lining.", "Everyone gets knocked down sometimes, but you always get back up and keep going.", "You're a candle in the darkness.", "You're a great example to others.", "Being around you is like being on a happy little vacation.", "You always know just what to say.", "You're always learning new things and trying to better yourself, which is awesome.", "If someone based an Internet meme on you, it would have impeccable grammar.", "You could survive a Zombie apocalypse.", "You're more fun than bubble wrap.", "When you make a mistake, you fix it.", "Who raised you? They deserve a medal for a job well done.", "You're great at figuring stuff out.", "Your voice is magnificent.", "The people you love are lucky to have you in their lives.", "You're like a breath of fresh air.", "You're gorgeous -- and that's the least interesting thing about you, too.", "You're so thoughtful.", "Your creative potential seems limitless.", "Your name suits you to a T.", "You're irresistible when you blush.", "Actions speak louder than words, and yours tell an incredible story.", "Somehow you make time stop and fly at the same time.", "When you make up your mind about something, nothing stands in your way.", "You seem to really know who you are.", "Any team would be lucky to have you on it.", "In high school I bet you were voted 'most likely to keep being awesome.'", "I bet you do the crossword puzzle in ink.", "Babies and small animals probably love you.", "If you were a scented candle they'd call it Perfectly Imperfect (and it would smell like summer).", "There's ordinary, and then there's you.", "You're someone's reason to smile.", "You're even better than a unicorn, because you're real.", "How do you keep being so funny and making everyone laugh?", "You have a good head on your shoulders.", "Has anyone ever told you that you have great posture?", "The way you treasure your loved ones is incredible.", "You're really something special.", "You're a gift to those around you.", "You don't deserve it."][Math.floor(Math.random() * 102)];
if(username === '') {
message.reply(coin);
} else {
message.channel.sendMessage(username + ", " + coin);
}
}
}
module.exports = ComplimentCommand;
File diff suppressed because one or more lines are too long
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class FishyCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'fishy',
group: 'random',
memberName: 'fishy',
description: 'Catches a fish. (;fishy)',
examples: [';fishy']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let coin = [':fish:', ':tropical_fish:', ':blowfish:'][Math.floor(Math.random() * 3)];
message.reply("You caught a: " + coin);
}
}
module.exports = FishyCommand;
+30
View File
@@ -0,0 +1,30 @@
const commando = require('discord.js-commando');
class MotivateCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'motivate',
group: 'response',
memberName: 'motivate',
description: 'Motivates someone. (;motivate @User)',
examples: [';motivate @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
let coin = ['https://www.youtube.com/watch?v=ZXsQAXx_ao0'][Math.floor(Math.random() * 1)];
if(username === '') {
message.reply(coin);
} else {
message.channel.sendMessage(username + ", " + coin);
}
}
}
module.exports = MotivateCommand;
+34
View File
@@ -0,0 +1,34 @@
const commando = require('discord.js-commando');
class RandomNameGen extends commando.Command {
constructor(Client){
super(Client, {
name: 'name',
group: 'response',
memberName: 'name',
description: 'Generates a random name (;name Male or ;name Female)',
examples: [';name', ';name male', ';name female']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let randomfirstmale = ["Bob", "Daniel", "Logan", "Chris", "Nathan", "George", "Mart", "Charlie", "Felix", "Ralph", "William", "Max", "Jerry", "Marty", "Joshua", "Cody", "Richard", "Alex", "Alexander", "Jordan", "Zachary", "Bill", "Alfred", "Bruce", "Caiden", "Calvin", "Eric", "Robert", "Mark", "Miles", "Nash", "Ronald", "Ivan", "Edgar", "Royal", "Augustine", "Dominic", "Noel", "Rocky", "Grover", "Paul", "Jeremy", "Stevie", "Brock", "Jc", "Tony", "Enoch", "Zachery", "Harvey", "Gilbert", "Chang", "Emery", "Carroll", "Odell", "Jean", "Archie", "Russ", "Barry", "Lowell", "Jacob", "Riku", "Frederic", "Levi", "Faustino", "Leland", "Domenic", "Irwin", "Moises", "Louie", "Larry", "Victor"][Math.floor(Math.random() * 71)];
let randomfirstfemale = ["Elizabeth", "Chelsey", "Rachel", "Logan", "Alex", "Jordan", "Mary", "Shirley", "Sandy", "Linda", "Audrey", "Autumn", "Gracie", "Grace", "Erin", "Catherine", "Stephanie", "Lucy", "Patty", "Julie", "Christina", "Fiona", "Riley", "Ashley", "Bree", "Lucila", "Wendi", "Evangelina", "Ricki", "Merna", "Tegan", "Venus", "Claris", "Tana", "Sakura", "Edythe", "Adena", "Princess", "Elnora", "Star", "Edyth", "Beverly", "Kelsie", "Letha", "Latisha", "Lolita", "Bernandine", "Jessenia", "Hannah", "Leonore", "Alene", "Fannie", "Bernardine", "Leena", "Tera", "Yvette", "Melisa", "Alissa", "Xiao", "Richelle", "Bridgett", "Sumiko", "Paulette", "Charlott", "Honey", "Veola", "Sherita", "Amanda", "Vannessa", "April", "Ruth"][Math.floor(Math.random() * 71)];
let randomlast = ["Walker", "Tworni", "Ross", "Smith", "Odendahl", "Deere", "Brown", "Williams", "Jones", "Miles", "Moss", "Roberto", "McFly", "McDonald", "Lewis", "Armstrong", "Stevenson", "Schwarzenegger", "Robinson", "Parker", "Piper", "Johnson", "Brantley", "Stewart", "Ree", "Talbot", "Seville", "Peace", "Spielberg", "Baggins", "Wilborn", "Vankirk", "Shireman", "Jimerson", "Masters", "Hack", "Satcher", "Younkin", "Aguila", "Duffey", "Burgin", "Highfall", "Wee", "Solari", "Tomaselli", "Basler", "Difranco", "Latch", "Rives", "Dolan", "Abraham", "Holter", "Portugal", "Lininger", "Holst", "Mccroy", "Follmer", "Hotchkiss", "Gassaway", "Wang", "Agron", "Raasch", "Gourd", "Czaja", "Marquart", "Papadopoulos", "Ringer", "Lax", "Sperling", "Galusha", "Alston"][Math.floor(Math.random() * 71)];
let randomfirstboth = [randomfirstmale, randomfirstfemale][Math.floor(Math.random() * 2)];
if(message.content.toLowerCase().split(" ").slice(1).includes("male")) {
message.reply(randomfirstmale + " " + randomlast);
} else if(message.content.toLowerCase().split(" ").slice(1).includes("female")) {
message.reply(randomfirstfemale + " " + randomlast);
} else {
message.reply(randomfirstboth + " " + randomlast);
}
}
}
module.exports = RandomNameGen;
+27
View File
@@ -0,0 +1,27 @@
const commando = require('discord.js-commando');
class PotatoCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'potato',
group: 'response',
memberName: 'potato',
description: 'Sends a random Potato picture. (;potato)',
examples: [';potato']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
let potato = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.gif", "6.png", "7.jpg", "8.jpg", "9.jpg"][Math.floor(Math.random() * 9)];
message.reply("Potatoes!");
message.channel.sendFile("./images/Potato" + potato);
}
}
module.exports = PotatoCommand;
+28
View File
@@ -0,0 +1,28 @@
const commando = require('discord.js-commando');
class RandomPun extends commando.Command {
constructor(Client){
super(Client, {
name: 'pun',
group: 'response',
memberName: 'pun',
description: 'Sends a random pun image. (;pun)',
examples: [';pun']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
let pun = ["Pun1.jpg", "Pun2.jpg", "Pun3.jpg", "Pun4.jpg", "Pun5.jpg", "Pun6.jpg", "Pun7.jpg", "Pun8.png", "Pun9.jpg", "Pun10.jpg", "Pun11.jpg", "Pun12.jpg", "Pun13.jpg", "Pun14.jpg", "Pun15.jpg", "Pun16.jpg", "Pun17.jpg", "Pun18.jpg", "Pun19.jpg", "Pun20.jpg", "Pun21.jpg", "Pun22.jpg", "Pun23.jpg", "Pun24.jpg", "Pun25.jpg", "Pun26.jpg", "Pun27.jpg", "Pun28.jpg", "Pun29.jpg", "Pun30.jpeg", "Pun31.jpg", "Pun32.jpg", "Pun33.jpg", "Pun34.png", "Pun35.jpg", "Pun36.jpg", "Pun37.jpg", "Pun38.jpg", "Pun39.jpg", "Pun40.jpg", "Pun41.jpg", "Pun42.jpg", "Pun43.jpg", "Pun44.jpg", "Pun45.gif", "Pun46.jpg", "Pun47.jpg", "Pun48.jpg", "Pun49.jpg", "Pun50.jpg", "Pun51.jpg", "Pun52.jpg", "Pun53.jpg"][Math.floor(Math.random() * 53)];
let punresponse = ["These are just punderful.", "Have a pun day!", "Puns aren't that punny, okay?", "But it's not Punday!"][Math.floor(Math.random() * 4)];
message.reply(punresponse);
message.channel.sendFile("./images/" + pun);
}
}
module.exports = RandomPun;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class QuantumCoin extends commando.Command {
constructor(Client){
super(Client, {
name: 'quantumcoin',
group: 'response',
memberName: 'quantumcoin',
description: 'Flips a coin that lands on nothing. (;quantumcoin)',
examples: [';quantumcoin']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let qcoin = ['on nothing', 'on NaN', 'on 0', 'in the air', 'on null'][Math.floor(Math.random() * 5)];
message.reply("It landed " + qcoin);
}
}
module.exports = QuantumCoin;
+26
View File
@@ -0,0 +1,26 @@
const commando = require('discord.js-commando');
class RateWaifuCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'ratewaifu',
group: 'response',
memberName: 'ratewaifu',
description: 'Rates your Waifu. (;ratewaifu Xiao Pai)',
examples: [';ratewaifu Xiao Pai']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
let percentage = Math.floor(Math.random() * 10) + 1;
message.reply("I'd give " + username + " a " + percentage + "/10!");
}
}
module.exports = RateWaifuCommand;
+30
View File
@@ -0,0 +1,30 @@
const commando = require('discord.js-commando');
class RoastMeCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'roast',
group: 'response',
memberName: 'roast',
description: 'Roasts the user of your choice. (;roast @User)',
examples: [';roast @username']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
let coin = ["*puts you in the oven*", "You're so stupid.", "Sorry, I can't hear you over how annoying you are.", "I've got better things to do.", "You're as dumb as Cleverbot.", "Your IQ is lower than the Mariana Trench.", "You're so annoying even the flies stay away from your stench.", "Go away, please.", "I'd give you a nasty look but you've already got one.", "It looks like your face caught fire and someone tried to put it out with a hammer.", "Your family tree must be a cactus because everyone on it is a prick.", "Someday you will go far, and I hope you stay there.", "The zoo called. They're wondering how you got out of your cage.", "I was hoping for a battle of wits, but you appear to be unarmed.", "You are proof that evolution can go in reverse.", "Brains aren't everything, in your case, they're nothing.", "Sorry I didn't get that, I don't speak idiot.", "Why is it acceptable for you to be an idiot, but not for me to point it out?", "We all sprang from apes, but you did not spring far enough.", "You're an unknown command.", "If you could go anywhere I chose, I'd choose dead.", "Even monkeys can go to space, so clearly you lack some potential.", "It's brains over brawn, yet you have neither.", "You look like a monkey, and you smell like one too.", "Even among idiots you're lacking.", "You fail even when you're doing absolutely nothing.", "If there was a vote for 'least likely to succeed' you'd win first prize.", "I'm surrounded by idiots... Or, wait, that's just you.", "I wanna go home. Well, really I just want to get away from the awful aroma you've got going there.", "Every time you touch me I have to go home and wash all my clothes nine times just to get a normal smell back.", "If I had a nickel for every brain you don't have, I'd have one dollar.", "I'd help you succeed but you're incapable."][Math.floor(Math.random() * 32)];
if(username === '') {
message.reply(coin);
} else {
message.channel.sendMessage(username + ", " + coin);
}
}
}
module.exports = RoastMeCommand;
+60
View File
@@ -0,0 +1,60 @@
const commando = require('discord.js-commando');
class RockPaperScissors extends commando.Command {
constructor(Client){
super(Client, {
name: 'rps',
group: 'response',
memberName: 'rps',
description: 'Play Rock Paper Scissors (;rps Rock)',
examples: [';rps Rock']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let [rps] = message.content.toLowerCase().split(" ").slice(1);
let response = ['Paper', 'Rock', 'Scissors'][Math.floor(Math.random() * 3)];
if(rps === undefined) {
message.reply(":x: Error! Your message contains nothing!");
} else if(rps.includes("rock")) {
if(response === "Rock") {
message.reply("Rock! Aw, it's a tie!");
}
if(response === "Paper") {
message.reply("Paper! Yes! I win!");
}
if(response === "Scissors") {
message.reply("Scissors! Aw... I lose...");
}
} else if(rps.includes("paper")) {
if(response === "Rock") {
message.reply("Rock! Aw... I lose...");
}
if(response === "Paper") {
message.reply("Paper! Aw, it's a tie!");
}
if(response === "Scissors") {
message.reply("Scissors! Yes! I win!");
}
} else if(rps.includes("scissors")) {
if(response === "Rock") {
message.reply("Rock! Yes! I win!");
}
if(response === "Paper") {
message.reply("Paper! Aw... I lose...");
}
if(response === "Scissors") {
message.reply("Scissors! Aw, it's a tie!");
}
} else {
message.reply(":x: Error! Your choice is not Rock, Paper, or Scissors!");
}
}
}
module.exports = RockPaperScissors;
+33
View File
@@ -0,0 +1,33 @@
const commando = require('discord.js-commando');
class RollChooseCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'roll',
group: 'response',
memberName: 'roll',
description: 'Rolls a Dice of your choice. (;roll 6)',
examples: [';roll 6']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let [value] = message.content.split(" ").slice(1);
if(value === undefined) {
let roll = Math.floor(Math.random() * 6) + 1;
message.reply("You rolled a " + roll)
} else if(value.match("^[0-9]+$")) {
let roll = Math.floor(Math.random() * value) + 1;
message.reply("You rolled a " + roll);
} else {
message.reply(":x: Error! Your message either contains a number but the number is invalid, or the number is in the wrong place.\n:notepad_spiral: (Note: When using numbers such as 1,000, do not use a comma)");
}
}
}
module.exports = RollChooseCommand;
+24
View File
@@ -0,0 +1,24 @@
const commando = require('discord.js-commando');
class FishyCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'roulette',
group: 'response',
memberName: 'roulette',
description: 'Chooses a random member. (;roulette Who is the best?)',
examples: [";roulette Who is the best?"]
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
message.reply("I choose " + message.guild.members.random() + "!");
}
}
module.exports = FishyCommand;
+26
View File
@@ -0,0 +1,26 @@
const commando = require('discord.js-commando');
class ShipCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'ship',
group: 'response',
memberName: 'ship',
description: 'Ships two people. (;ship @Rem and @Nate)',
examples: [';ship @Rem and @Nate']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let ship = message.content.split(" ").slice(1).join(" ");
let percentage = Math.floor(Math.random() * 100) + 1;
message.reply("I'd give " + ship + " a " + percentage + "%!");
}
}
module.exports = ShipCommand;
+26
View File
@@ -0,0 +1,26 @@
const commando = require('discord.js-commando');
class VocaloidSongRndm extends commando.Command {
constructor(Client){
super(Client, {
name: 'vocaloid',
group: 'response',
memberName: 'vocaloid',
description: 'Sends a random VOCALOID song. (;vocaloid)',
examples: [';vocaloid']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let coin = ["https://www.youtube.com/watch?v=ebAKoRcYFTA", "https://www.youtube.com/watch?v=Mqps4anhz0Q", "https://www.youtube.com/watch?v=AUEiHQOCQ2M", "https://www.youtube.com/watch?v=oyteTOBxRm8", "https://www.youtube.com/watch?v=uwwU55zBYlQ", "https://www.youtube.com/watch?v=sSYoz0JmnZo", "https://www.youtube.com/watch?v=NpU4dsXW6EI", "https://www.youtube.com/watch?v=MzyXD8bNbvk", "https://www.youtube.com/watch?v=hyV4qGAPKac", "https://www.youtube.com/watch?v=pywNi6gD1FA", "https://www.youtube.com/watch?v=17FEtaiWdVg", "https://www.youtube.com/watch?v=fmrA-gxJxgQ", "https://www.youtube.com/watch?v=yOBWgSPrYVA", "https://www.youtube.com/watch?v=nCaqf9WhqOY", "https://www.youtube.com/watch?v=cQKGUgOfD8U", "https://www.youtube.com/watch?v=sK92X82T3Sk", "https://www.youtube.com/watch?v=AH5_sKwDw1E", "https://www.youtube.com/watch?v=dw-KJNqcK-Q", "https://www.youtube.com/watch?v=X47JmmqbMvc", "https://www.youtube.com/watch?v=ojQPpYVQt7U", "https://www.amazon.com/Gogatsu-Yamai-feat-Kagamine-Len/dp/B00P1BG27S", "https://www.youtube.com/watch?v=N1-Z8uslIsI", "https://www.youtube.com/watch?v=EAgk-t2zzqw", "https://www.youtube.com/watch?v=uLBC2kWYFo8", "https://www.youtube.com/watch?v=OXHYIlkZLUU", "https://www.youtube.com/watch?v=ObIa9wXbyMQ", "https://www.youtube.com/watch?v=dGNoCICGmo0", "https://www.youtube.com/watch?v=LcoyEZkTKfY", "https://www.youtube.com/watch?v=mKHaW0qd5Mw", "https://www.youtube.com/watch?v=GG627DYk_E4", "https://www.youtube.com/watch?v=jTm6Q5Pj_Jo", "https://www.youtube.com/watch?v=TVeIDmk3rBo", "https://www.youtube.com/watch?v=1K3in6w9tt4", "https://www.youtube.com/watch?v=07r67gGbtLQ", "https://www.youtube.com/watch?v=243vPl8HdVk", "https://www.youtube.com/watch?v=zweVJrnE1uY", "https://www.youtube.com/watch?v=RKtoreimcQ8", "https://www.youtube.com/watch?v=Je6dCVfHvkU", "https://www.youtube.com/watch?v=UxFv12y_evM", "https://www.youtube.com/watch?v=2HegQtmJeto", "https://www.youtube.com/watch?v=8-Epnpruww0"
][Math.floor(Math.random() * 42)];
message.reply(coin);
}
}
module.exports = VocaloidSongRndm;
+27
View File
@@ -0,0 +1,27 @@
const commando = require('discord.js-commando');
class RandomXiaoPai extends commando.Command {
constructor(Client){
super(Client, {
name: 'xiaopai',
group: 'response',
memberName: 'xiaopai',
description: 'Sends a random image of Xiao Pai. (;xiaopai)',
examples: [';xiaopai']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('ATTACH_FILES')) return;
}
console.log("[Command] " + message.content);
let XiaoPai = ["1.png", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.png", "9.png", "10.png", "11.png", "12.png", "13.jpg", "14.jpg", "15.png", "16.jpg", "17.png", "18.gif", "19.png", "20.jpg", "21.jpg"][Math.floor(Math.random() * 21)];
message.reply("It's me, yes?");
message.channel.sendFile("./images/Xiao" + XiaoPai);
}
}
module.exports = RandomXiaoPai;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class CuddleCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'cuddle',
group: 'roleplay',
memberName: 'cuddle',
description: 'Cuddles someone. (;cuddle @User)',
examples: [';cuddle @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *cuddles* ' + username);
}
}
module.exports = CuddleCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class DivorceCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'divorce',
group: 'roleplay',
memberName: 'divorce',
description: 'Divorces someone. (;divorce @User)',
examples: [';divorce @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *divorces* ' + username);
}
}
module.exports = DivorceCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class EatCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'eat',
group: 'roleplay',
memberName: 'eat',
description: 'Eats something/someone. (;eat @User)',
examples: [';eat @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *eats* ' + username);
}
}
module.exports = EatCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class FalconPunchCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'falconpunch',
group: 'roleplay',
memberName: 'falconpunch',
description: 'Falcon Punches someone. (;falconpunch @User)',
examples: [';falconpunch @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *falcon punches* ' + username);
}
}
module.exports = FalconPunchCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class FistBumpCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'fistbump',
group: 'roleplay',
memberName: 'fistbump',
description: 'Fistbumps someone. (;fistbump @User)',
examples: [';fistbump @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *fistbumps* ' + username + ' *badalalala* ');
}
}
module.exports = FistBumpCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class HighFivesCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'highfive',
group: 'roleplay',
memberName: 'highfive',
description: 'High Fives someone. (;highfive @User)',
examples: [';highfive @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *high fives* ' + username);
}
}
module.exports = HighFivesCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class HitwithShovelCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'hitwithshovel',
group: 'roleplay',
memberName: 'hitwithsovel',
description: 'Hits someone with a shovel. (;hitwithshovel @User)',
examples: [';hitwithshovel @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *hits* ' + username + ' *with a shovel* ');
}
}
module.exports = HitwithShovelCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class HugCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'hug',
group: 'roleplay',
memberName: 'hug',
description: 'Hugs someone. (;hug @User)',
examples: [';hug @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *hugs* ' + username);
}
}
module.exports = HugCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class InhaleCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'inhale',
group: 'roleplay',
memberName: 'inhale',
description: 'Inhales someone. (;inhale @User)',
examples: [';inhale @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *inhales* ' + username + ' *but gained no ability...* ');
}
}
module.exports = InhaleCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class KillCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'kill',
group: 'roleplay',
memberName: 'kill',
description: 'Kills someone. (;kill @User)',
examples: [';kill @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *kills* ' + username);
}
}
module.exports = KillCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class KissCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'kiss',
group: 'roleplay',
memberName: 'kiss',
description: 'Kisses someone. (;kiss @User)',
examples: [';kiss @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *kisses* ' + username);
}
}
module.exports = KissCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class MarryCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'marry',
group: 'roleplay',
memberName: 'marry',
description: 'Marries someone. (;marry @User)',
examples: [';marry @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *marries* ' + username);
}
}
module.exports = MarryCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class PatCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'pat',
group: 'roleplay',
memberName: 'pat',
description: 'Pats someone. (;pat @User)',
examples: [';pat @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *pats* ' + username);
}
}
module.exports = PatCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class PokeCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'poke',
group: 'roleplay',
memberName: 'poke',
description: 'Pokes someone. (;poke @User)',
examples: [';poke @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *pokes* ' + username);
}
}
module.exports = PokeCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class PunchCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'punch',
group: 'roleplay',
memberName: 'punch',
description: 'Punches someone. (;punch @User)',
examples: [';punch @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *punches* ' + username);
}
}
module.exports = PunchCommand;
+25
View File
@@ -0,0 +1,25 @@
const commando = require('discord.js-commando');
class SlapCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'slap',
group: 'roleplay',
memberName: 'slap',
description: 'Slaps someone. (;slap @User)',
examples: [';slap @User']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let username = message.content.split(" ").slice(1).join(" ");
message.channel.sendMessage(message.author + ' *slaps* ' + username);
}
}
module.exports = SlapCommand;
+38
View File
@@ -0,0 +1,38 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
class EmbedCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'embed',
group: 'textedit',
memberName: 'embed',
description: 'Sends a message in an embed. (;embed This is an example.)',
examples: [';embed This is an example.']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
}
console.log("[Command] " + message.content);
let embedmessage = message.content.split(" ").slice(1).join(" ");
if(embedmessage === "") {
message.reply(":x: Error! Nothing to embed!");
} else {
const embed = new Discord.RichEmbed()
.setAuthor(message.author.username, message.author.avatarURL)
.setColor(0x00AE86)
.setTimestamp()
.setDescription(embedmessage);
message.channel.sendEmbed(embed).catch(console.error);
if (message.channel.type === 'dm') return;
message.delete();
}
}
}
module.exports = EmbedCommand;
+107
View File
@@ -0,0 +1,107 @@
{
"entries": {
"af": "Afrikaans",
"sq": "Albanian",
"ar": "Arabic",
"hy": "Armenian",
"az": "Azerbaijani",
"eu": "Basque",
"be": "Belarusian",
"bn": "Bengali",
"bs": "Bosnian",
"bg": "Bulgarian",
"ca": "Catalan",
"ceb": "Cebuano",
"ny": "Chichewa",
"zh-cn": "Chinese Simplified",
"zh-tw": "Chinese Traditional",
"co": "Corsican",
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
"nl": "Dutch",
"en": "English",
"eo": "Esperanto",
"et": "Estonian",
"tl": "Filipino",
"fi": "Finnish",
"fr": "French",
"fy": "Frisian",
"gl": "Galician",
"ka": "Georgian",
"de": "German",
"el": "Greek",
"gu": "Gujarati",
"ht": "Haitian Creole",
"ha": "Hausa",
"haw": "Hawaiian",
"iw": "Hebrew",
"hi": "Hindi",
"hmn": "Hmong",
"hu": "Hungarian",
"is": "Icelandic",
"ig": "Igbo",
"id": "Indonesian",
"ga": "Irish",
"it": "Italian",
"ja": "Japanese",
"jw": "Javanese",
"kn": "Kannada",
"kk": "Kazakh",
"km": "Khmer",
"ko": "Korean",
"ku": "Kurdish (Kurmanji)",
"ky": "Kyrgyz",
"lo": "Lao",
"la": "Latin",
"lv": "Latvian",
"lt": "Lithuanian",
"lb": "Luxembourgish",
"mk": "Macedonian",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
"mi": "Maori",
"mr": "Marathi",
"mn": "Mongolian",
"my": "Myanmar (Burmese)",
"ne": "Nepali",
"no": "Norwegian",
"ps": "Pashto",
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
"ma": "Punjabi",
"ro": "Romanian",
"ru": "Russian",
"sm": "Samoan",
"gd": "Scots Gaelic",
"sr": "Serbian",
"st": "Sesotho",
"sn": "Shona",
"sd": "Sindhi",
"si": "Sinhala",
"sk": "Slovak",
"sl": "Slovenian",
"so": "Somali",
"es": "Spanish",
"su": "Sudanese",
"sw": "Swahili",
"sv": "Swedish",
"tg": "Tajik",
"ta": "Tamil",
"te": "Telugu",
"th": "Thai",
"tr": "Turkish",
"uk": "Ukrainian",
"ur": "Urdu",
"uz": "Uzbek",
"vi": "Vietnamese",
"cy": "Welsh",
"xh": "Xhosa",
"yi": "Yiddish",
"yo": "Yoruba",
"zu": "Zulu"
}
}
+31
View File
@@ -0,0 +1,31 @@
const commando = require('discord.js-commando');
const pirateSpeak = require('pirate-speak');
class PirateCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'pirate',
group: 'textedit',
memberName: 'pirate',
description: 'Talk like a pirate! (;pirate This is being said like a pirate!)',
examples: [';pirate This is being said like a pirate!']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let messagecontent = message.content.split(" ").slice(1).join(" ");
let pirate = pirateSpeak.translate(messagecontent);
if(messagecontent === "") {
message.reply(":x: Error! Nothing to translate!");
} else {
message.channel.sendMessage(pirate);
}
}
}
module.exports = PirateCommand;
+33
View File
@@ -0,0 +1,33 @@
const commando = require('discord.js-commando');
class ReverseCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'reverse',
group: 'textedit',
memberName: 'reverse',
description: 'Reverses text (;reverse This text please)',
examples: [';reverse This text please']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
function reverseString(str) {
return str.split("").reverse().join("");
}
let messagecontent = message.content.split(" ").slice(1).join(" ");
if(messagecontent === "") {
message.reply(":x: Error! Nothing to reverse!");
} else {
let reversed = reverseString(messagecontent);
message.channel.sendMessage(reversed);
}
}
}
module.exports = ReverseCommand;
+31
View File
@@ -0,0 +1,31 @@
const commando = require('discord.js-commando');
class SayCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'say',
group: 'textedit',
memberName: 'say',
description: 'Make XiaoBot say what you wish. (;say I can talk!)',
examples: [';say I can talk!']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
let Copycat = message.content.split(" ").slice(1).join(" ");
if(Copycat === "") {
message.reply(":x: Error! Nothing to say!");
} else {
message.channel.sendMessage(Copycat);
if (message.channel.type === 'dm') return;
message.delete();
}
}
}
module.exports = SayCommand;
+50
View File
@@ -0,0 +1,50 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
const translate = require('google-translate-api');
const languages = require('./languages.json');
class TranslateCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'translate',
group: 'textedit',
memberName: 'translate',
description: 'Translates text to a given language. (;translate ja Give me the money!) (;translate list to see avaliable language codes!)',
examples: [';translate ja Give me the the money!', ';translate']
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
}
console.log("[Command] " + message.content);
let [languageto] = message.content.toLowerCase().split(" ").slice(1);
let messagecontent = message.content.split(" ").slice(2).join(" ");
if(languageto === "list") {
message.channel.sendMessage("af': 'Afrikaans\nsq': 'Albanian'\n'ar': 'Arabic\nhy': 'Armenian\naz': 'Azerbaijani\neu': 'Basque\nbe': 'Belarusian\nbn': 'Bengali\nbs': 'Bosnian\nbg': 'Bulgarian\nca': 'Catalan\nceb': 'Cebuano\nny': 'Chichewa\nzh-cn': 'Chinese Simplified\nzh-tw': 'Chinese Traditional\nco': 'Corsican\nhr': 'Croatian\ncs': 'Czech\nda': 'Danish\nnl': 'Dutch\nen': 'English\neo': 'Esperanto\net': 'Estonian\ntl': 'Filipino\nfi': 'Finnish\nfr': 'French\nfy': 'Frisian\ngl': 'Galician\nka': 'Georgian\nde': 'German\nel': 'Greek\ngu': 'Gujarati\nht': 'Haitian Creole\nha': 'Hausa\nhaw': 'Hawaiian\niw': 'Hebrew\nhi': 'Hindi\nhmn': 'Hmong\nhu': 'Hungarian\nis': 'Icelandic\nig': 'Igbo\nid': 'Indonesian\nga': 'Irish\nit': 'Italian\nja': 'Japanese\njw': 'Javanese\nkn': 'Kannada\nkk': 'Kazakh\nkm': 'Khmer\nko': 'Korean\nku': 'Kurdish (Kurmanji)\nky': 'Kyrgyz\nlo': 'Lao\nla': 'Latin\nlv': 'Latvian\nlt': 'Lithuanian\nlb': 'Luxembourgish\nmk': 'Macedonian\nmg': 'Malagasy\nms': 'Malay\nml': 'Malayalam\nmt': 'Maltese\nmi': 'Maori\nmr': 'Marathi\nmn': 'Mongolian\nmy': 'Myanmar (Burmese)\nne': 'Nepali\nno': 'Norwegian\nps': 'Pashto\nfa': 'Persian\npl': 'Polish\npt': 'Portuguese\nma': 'Punjabi\nro': 'Romanian\nru': 'Russian\nsm': 'Samoan\ngd': 'Scots Gaelic\nsr': 'Serbian\nst': 'Sesotho\nsn': 'Shona\nsd': 'Sindhi\nsi': 'Sinhala\nsk': 'Slovak\nsl': 'Slovenian\nso': 'Somali\nes': 'Spanish\nsu': 'Sudanese\nsw': 'Swahili\nsv': 'Swedish\ntg': 'Tajik\nta': 'Tamil\nte': 'Telugu\nth': 'Thai\ntr': 'Turkish\nuk': 'Ukrainian\nur': 'Urdu\nuz': 'Uzbek\nvi': 'Vietnamese\ncy': 'Welsh\nxh': 'Xhosa\nyi': 'Yiddish\nyo': 'Yoruba\nzu': 'Zulu'");
} else if(languages.entries[languageto]) {
if(messagecontent === "") {
message.reply(":x: Error! Nothing to translate!");
} else {
translate(messagecontent, {to: languageto}).then(res => {
const embed = new Discord.RichEmbed()
.setColor(0x00AE86)
.addField('Input:',
messagecontent)
.addField('Translation (To: ' + languages.entries[languageto] + '):',
res.text);
message.channel.sendEmbed(embed).catch(console.error);
}).catch(err => {
console.error(err);
});
}
} else {
message.reply(":x: Error! Language not found!");
}
}
}
module.exports = TranslateCommand;
+32
View File
@@ -0,0 +1,32 @@
const commando = require('discord.js-commando');
class AvatarCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'avatar',
group: 'userinfo',
memberName: 'avatar',
description: "Gives a link to someone's avatar. (;avatar @User)",
examples: [";avatar @XiaoBot"]
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
}
console.log("[Command] " + message.content);
if (message.mentions.users.size !== 1) {
message.reply(':x: Either too many or no members, only mention one person!');
} else {
if(message.mentions.users.first().avatarURL === null) {
message.reply(":x: This person has no avatar!");
} else {
message.reply(message.mentions.users.first().avatarURL);
}
}
}
}
module.exports = AvatarCommand;
+99
View File
@@ -0,0 +1,99 @@
const commando = require('discord.js-commando');
const Discord = require('discord.js');
class UserInfoCommand extends commando.Command {
constructor(Client){
super(Client, {
name: 'user',
group: 'userinfo',
memberName: 'user',
description: "Gives some info on a user. (;user @User)",
examples: [";user @User"]
});
}
async run(message, args) {
if(message.channel.type !== 'dm') {
if(!message.channel.permissionsFor(this.client.user).hasPermission('SEND_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('READ_MESSAGES')) return;
if(!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return;
}
console.log("[Command] " + message.content);
if (message.channel.type === 'dm') {
message.reply(":x: This is a DM!");
} else {
let member = message.guild.member(message.mentions.users.first());
let stat;
switch (message.mentions.users.first().presence.status) {
case "online":
stat = "<:vpOnline:212789758110334977> Online";
break;
case "idle":
stat = "<:vpAway:212789859071426561> Idle";
break;
case "dnd":
stat = "<:vpDnD:230093576355184640> Do Not Disturb";
break;
case "offline":
stat = "<:vpOffline:212790005943369728> Offline";
break;
}
let color;
switch (message.mentions.users.first().presence.status) {
case "online":
color = 0x00AE86;
break;
case "idle":
color = 0xFFFF00;
break;
case "dnd":
color = 0xFF0000;
break;
case "offline":
color = 0x808080;
break;
}
if (message.mentions.users.size !== 1) {
message.reply(':x: Either too many or no members, only mention one person!');
} else {
if (message.mentions.users.first().presence.game === null) {
const embed = new Discord.RichEmbed()
.setColor(color)
.setThumbnail(message.mentions.users.first().avatarURL)
.addField('**Name:**',
message.mentions.users.first().username + '#' + message.mentions.users.first().discriminator, true)
.addField('**ID:**',
message.mentions.users.first().id, true)
.addField('**Joined Discord On:**',
message.mentions.users.first().createdAt, true)
.addField('**Joined Server On:**',
member.joinedAt, true)
.addField('**Status:**',
stat, true)
.addField('**Playing:**',
"None", true);
message.channel.sendEmbed(embed).catch(console.error);
} else {
const embed = new Discord.RichEmbed()
.setColor(color)
.setThumbnail(message.mentions.users.first().avatarURL)
.addField('**Name:**',
message.mentions.users.first().username + '#' + message.mentions.users.first().discriminator, true)
.addField('**ID:**',
message.mentions.users.first().id, true)
.addField('**Joined Discord On:**',
message.mentions.users.first().createdAt, true)
.addField('**Joined Server On:**',
member.joinedAt, true)
.addField('**Status:**',
stat, true)
.addField('**Playing:**',
message.mentions.users.first().presence.game.name, true);
message.channel.sendEmbed(embed).catch(console.error);
}
}
}
}
}
module.exports = UserInfoCommand;