import { Command, CommandoMessage } from 'discord.js-commando'; import emoji from 'emoji-random'; import Darling from '../../models/darling.js'; import mongo from 'mongoose'; mongo.connect('mongodb://sin:cSDZEygGZz232eJ5bS@ds047107.mlab.com:47107/heroku_4qrjvmb9', { useNewUrlParser: true, useUnifiedTopology: true }) module.exports = class DarlingZeroTwo extends Command { constructor(client) { super(client, { name: 'darling', group: 'zerotwo', memberName: 'darling', description: 'Get\'s or sets uwufier\'s current darling.', userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], examples: [ 'uwu!darling', 'uwu!darling set', 'uwu!darling remove' ], args: [ { key: 'darlingName', prompt: 'Who should the darling be?', type: 'string', default: '' } ], throttling: { usages: 5, duration: 30 }, guildOnly: true }); } async run(msg: CommandoMessage, { darlingName }) { const darling = new Darling({ _id: mongo.Types.ObjectId(), username: msg.author.username, userID: msg.author.id, guildname: msg.guild.name, guildID: msg.guild.id, time: msg.createdAt }) const guildExist = await Darling.findOne({ guildID: msg.guild.id }) Darling.findOne({ guildID: msg.guild.id }, async (error, guild) => { if (error) { console.log(error) } else if (guild && darlingName == 'remove') { if (msg.author.id == guild.userID) { await Darling.findOneAndDelete({ guildID: msg.guild.id }) msg.say('The current darling has been removed. ' + emoji.random()) } else { msg.reply('Only my darling can remove the current darling. ' + emoji.random()) } } else if (!guild && darlingName == 'remove') { msg.reply('There is no darling set in this server. ' + emoji.random()) } else if (guild && darlingName == 'set') { msg.reply(`I already have a darling! It\'s <@${guild.userID}>! ` + emoji.random()) } else if (!guild && darlingName == 'set') { await darling.save() .then(result => console.log(result)) .catch(err => console.log(err)) var quoteNum = Math.floor((Math.random() * 3) + 1); switch (quoteNum) { case 1: var quoteResult = 'I think I have taken a liking to you. Won\'t you be my darling?'; break case 2: var quoteResult = 'I like the look in your eyes. It makes my heart race. You are now my darling!'; break case 3: var quoteResult = 'Wow, your taste makes my heart race. It bites and lingers... The taste of danger. You are now my darling!'; break default: var quoteResult = 'I think I have taken a liking to you. Won\'t you be my darling?'; break } msg.reply(quoteResult) } else if (!guild) { msg.reply('I haven\'t found my darling yet! To set one, do `uwu!darling set`. ' + emoji.random()) } else if (guild) { msg.reply(`My darling is <@${guild.userID}>. ` + emoji.random()) } }) // if (guildExist && darlingName == 'remove') { // await Darling.findOneAndDelete({ guildID: msg.guild.id }) // msg.say('The current darling has been removed.') // } else if (!guildExist && darlingName == 'remove') { // msg.reply('There is no darling set in this server.') // } else if (darlingName || darlingName == 'set') { // await darling.save().then(result => console.log(result)).catch(err => console.log(err)) // var quoteNum = Math.floor((Math.random() * 3) + 1); // switch (quoteNum) { // case 1: var quoteResult = 'I think I have taken a liking to you. Won\'t you be my darling?'; break // case 2: var quoteResult = 'I like the look in your eyes. It makes my heart race. You are now my darling!'; break // case 3: var quoteResult = 'Wow, your taste makes my heart race. It bites and lingers... The taste of danger. You are now my darling!'; break // default: var quoteResult = 'I think I have taken a liking to you. Won\'t you be my darling?'; break // } // msg.reply(quoteResult) // } else if (!guildExist) { // msg.reply('I haven\'t found my darling yet!') // } else if (guildExist) { // await Darling.findOne({ userID: msg.author.id }, (err) => { // if (err) console.log(err) // }).then(res => { // msg.reply(`My darling is <@${res.userID}>`) // }) // //msg.reply(`My darling is <@${result.userID}>`) // } else { // console.error() // } } };