diff options
Diffstat (limited to 'src/commands/server')
| -rw-r--r-- | src/commands/server/welcome.ts | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/commands/server/welcome.ts b/src/commands/server/welcome.ts new file mode 100644 index 0000000..9b92268 --- /dev/null +++ b/src/commands/server/welcome.ts @@ -0,0 +1,69 @@ +import { Command, CommandoMessage } from 'discord.js-commando'; +import emoji from 'emoji-random'; +import Welcome from '../../models/welcome.js'; +import mongo from 'mongoose'; +mongo.connect('mongodb://sin:[email protected]:47107/heroku_4qrjvmb9') + +module.exports = class WelcomeServer extends Command { + constructor(client) { + super(client, { + name: 'welcome', + group: 'server', + memberName: 'welcome', + description: 'Allows you to set, change or delete a server welcome message.', + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + examples: [ + 'uwu!welcome', + 'uwu!welcome set', + 'uwu!welcome remove' + ], + args: [ + { + key: 'wType', + prompt: 'Would you like to set, remove or change the current welcome channel?', + type: 'string', + default: '' + } + ] + }); + } + async run(msg: CommandoMessage, { wType }) { + const welcome = new Welcome({ + _id: mongo.Types.ObjectId(), + username: msg.author.username, + userID: msg.author.id, + guildname: msg.guild.name, + guildID: msg.guild.id, + channelname: msg.channel, + channelID: msg.channel.id, + time: msg.createdAt + }) + const guildExist = await Welcome.findOne({ guildID: msg.guild.id }) + + if (msg.member.hasPermission('MANAGE_GUILD')) { + Welcome.findOne({ guildID: msg.guild.id }, async (error, guild) => { + if (error) { + console.log(error) + } else if (guild && wType == 'remove') { + await Welcome.findOneAndDelete({ guildID: msg.guild.id }) + msg.say('The current welcome channel has been unset! ' + emoji.random()) + } else if (!guild && wType == 'remove') { + msg.reply('There is no current welcome channel set for this guild! ' + emoji.random()) + } else if (wType == 'set') { + await welcome.save() + .then(result => console.log(result)) + .catch(err => console.log(err)) + + msg.reply(`The welcome channel has been set to ${msg.channel}! ` + emoji.random()) + } else if (!guild) { + msg.reply('There is no current welcome channel set for this guild! To set one, do `uwu!welcome set` in the channel you want to set it in. ' + emoji.random()) + } else if (guild) { + msg.reply(`The current welcome channel is ${guild.channelname}. ` + emoji.random()) + } + }) + } else { + msg.reply('Insufficent permissions! ' + emoji.random()) + } + } +};
\ No newline at end of file |