diff --git a/.idea/Luno.iml b/.idea/Luno.iml
new file mode 100644
index 0000000..0c8867d
--- /dev/null
+++ b/.idea/Luno.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..6913861
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commands/fun/neko.js b/commands/fun/neko.js
new file mode 100644
index 0000000..3b98d0a
--- /dev/null
+++ b/commands/fun/neko.js
@@ -0,0 +1,37 @@
+const Discord = require('discord.js');
+const Saves = require('../../models/saves');
+const UserData = require('../../models/user');
+const makeId = require('../../util/makeid');
+
+module.exports = {
+ name: "neko",
+ help: "Get a random neko image",
+ meta: {
+ category: 'Social',
+ description: "Get a random neko image",
+ syntax: '`neko`',
+ extra: null
+ },
+ async execute(message, msg, args, cmd, prefix, mention, client) {
+ let savess = await Saves.findOne({name: 'neko'}) ? await Saves.findOne({name: 'neko'}) : new Saves({name: 'neko'});
+ let saves = savess.saves;
+ if (!args.length) {return message.channel.send(new Discord.MessageEmbed()
+ .setTitle(`Here's a random neko for you :3`)
+ .setImage(String(Array.from(saves.values())[Math.floor(Math.random() * saves.size)]))
+ .setColor('aa459d')
+ );}
+ if (['s', 'save', 'n', 'new', 'a', 'add'].includes(args[0].toLowerCase())) {
+ if (!args[1]) {return message.channel.send('oi there cunt, give me a link of an image to add!');}
+ let tu = await UserData.findOne({uid: message.author.id});
+ if ((!tu || !tu.developer) && !client.misc.savers.includes(message.author.id)) {return message.reply("You must be a Luno Developer in order to add new neko GIFs/images.");}
+ let e = true;
+ let id;
+ while (e === true) {id = makeId(6); if (!saves.has(id)) {e = false;}}
+ args.shift();
+ saves.set(id, args.join(" ").trim());
+ savess.saves = saves;
+ savess.save();
+ return message.channel.send("Save added!");
+ }
+ }
+};
\ No newline at end of file
diff --git a/commands/social/dance.js b/commands/social/dance.js
new file mode 100644
index 0000000..b32d226
--- /dev/null
+++ b/commands/social/dance.js
@@ -0,0 +1,38 @@
+const Discord = require('discord.js');
+const Saves = require('../../models/saves');
+const UserData = require('../../models/user');
+const makeId = require('../../util/makeid');
+
+module.exports = {
+ name: "dance",
+ aliases: ['party'],
+ help: "Shake it off with {{p}}dance!",
+ meta: {
+ category: 'Social',
+ description: "Show off your moves",
+ syntax: '`dance`',
+ extra: null
+ },
+ async execute(message, msg, args, cmd, prefix, mention, client) {
+ let savess = await Saves.findOne({name: 'dance'}) ? await Saves.findOne({name: 'dance'}) : new Saves({name: 'dance'});
+ let saves = savess.saves;
+ if (!args.length) {return message.channel.send(new Discord.MessageEmbed()
+ .setTitle(`${message.guild ? message.member.displayName : message.author.username} is dancing like there's no tomorrow!`)
+ .setImage(String(Array.from(saves.values())[Math.floor(Math.random() * saves.size)]))
+ .setColor('3A8ED5')
+ );}
+ if (['s', 'save', 'n', 'new', 'a', 'add'].includes(args[0].toLowerCase())) {
+ if (!args[1]) {return message.channel.send('oi there cunt, give me a link of an image to add!');}
+ let tu = await UserData.findOne({uid: message.author.id});
+ if ((!tu || !tu.developer) && !client.misc.savers.includes(message.author.id)) {return message.reply("You must be a Luno Developer in order to add new dance GIFs.");}
+ let e = true;
+ let id;
+ while (e === true) {id = makeId(6); if (!saves.has(id)) {e = false;}}
+ args.shift();
+ saves.set(id, args.join(" ").trim());
+ savess.saves = saves;
+ savess.save();
+ return message.channel.send("Save added!");
+ }
+ }
+};
\ No newline at end of file
diff --git a/commands/social/smile.js b/commands/social/smile.js
index 39b1b63..d59740c 100644
--- a/commands/social/smile.js
+++ b/commands/social/smile.js
@@ -5,7 +5,7 @@ const makeId = require('../../util/makeid');
module.exports = {
name: "smile",
- aliases: ['sob'],
+ aliases: ['grin'],
help: "Spread the happiness with {{p}}smile!",
meta: {
category: 'Social',