From dcc00d8d1fc7a93b8b75ae442528c92d751320ec Mon Sep 17 00:00:00 2001 From: ItzEmerald Date: Sat, 11 Jul 2020 13:17:57 +0100 Subject: [PATCH] Update --- commands/addUser.js | 22 +++++++++++++---- commands/announce.js | 14 +++++------ commands/removeUser.js | 55 ++++++++++++++++++++++++++++++++++++++++++ supportbot-config.yml | 21 ++++++++-------- 4 files changed, 89 insertions(+), 23 deletions(-) create mode 100644 commands/removeUser.js diff --git a/commands/addUser.js b/commands/addUser.js index 18d884a..70c679a 100644 --- a/commands/addUser.js +++ b/commands/addUser.js @@ -13,10 +13,11 @@ module.exports = { execute(message, args) { console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.AddUser}!`); - let staffGroup = message.guild.roles.cache.find(staffRole => staffRole.name === supportbot.StaffRole); + let SupportStaff = message.guild.roles.cache.find(staffRole => staffRole.name === supportbot.Staff); + const NoPerms = new Discord.MessageEmbed() .setTitle("Invalid Permissions!") - .setDescription(":warning: **Err!** You do not have the correct permissions to use this command.") + .setDescription(`:warning: **Err!** You do not have the correct permissions to use this command.\n\nRole Required: \`${supportbot.SupportStaff}\``) .setColor(supportbot.WarningColour) message.channel.send({ embed: NoPerms }); @@ -37,8 +38,19 @@ module.exports = { .setColor(supportbot.ErrorColor) if (!rUser) return message.channel.send({ embed: UserNotExist }); - - - + + message.channel.updateOverwrite(rUser, { + VIEW_CHANNEL: true, + CREATE_INVITE: false, + SEND_MESSAGES: true, + READ_MESSAGES: true + }); + + const Complete = new Discord.MessageEmbed() + .setTitle("User Added!") + .setDescription(`👍 ${rUser} has been added to this ticket`) + .setTimestamp() + .setColor(supportbot.EmbedColour) + message.channel.send({ embed: Complete }); } }; \ No newline at end of file diff --git a/commands/announce.js b/commands/announce.js index f41df48..3d57469 100644 --- a/commands/announce.js +++ b/commands/announce.js @@ -16,19 +16,19 @@ module.exports = { let locateChannel = message.guild.channels.cache.find(AnnouncementChannel => AnnouncementChannel.name === supportbot.AnnouncementChannel); const errornochannel = new Discord.MessageEmbed() - .setTitle("SupportBot Error!") - .setDescription(`:x: **Error!** Channel not Found, This command cannot be executed proberbly as their is no channel within this server.\nThis is configurable via **supportbot-config.yml**\n\nChannel Required: \`${supportbot.AnnouncementChannel}\`\n\nError Code: \`SB-03\``) + .setTitle("Invalid Channel") + .setDescription(`:x: **Error!** Channel not Found, This command cannot be executed proberbly as their is no channel within this server.\nThis is configurable via **supportbot-config.yml**\n\nChannel Required: \`${supportbot.AnnouncementChannel}`) .setColor(supportbot.ErrorColour); if(!locateChannel) return message.channel.send({ embed: errornochannel }); let serverAdmins = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin); - const rolerequired = new Discord.MessageEmbed() - .setTitle("SupportBot Error!") - .setDescription(`:x: **Error!** Incorrect Permissions, You cannot execute this command as you do not have the required role.\n\nRole Required: \`${supportbot.Admin}\`\n\nError Code: \`SB-02\``) - .setColor(supportbot.ErrorColour); - if (!message.member.roles.cache.has(serverAdmins.id)) return message.reply({embed: rolerequired}); + const NoPerms = new Discord.MessageEmbed() + .setTitle("Invalid Permissions!") + .setDescription(`:warning: **Err!** You do not have the correct permissions to use this command.\n\nRole Required: \`${supportbot.serverAdmins}\``) + .setColor(supportbot.WarningColour) + message.channel.send({ embed: NoPerms }); const embed = new Discord.MessageEmbed() diff --git a/commands/removeUser.js b/commands/removeUser.js new file mode 100644 index 0000000..ae428a3 --- /dev/null +++ b/commands/removeUser.js @@ -0,0 +1,55 @@ +// SupportBot 6.0, Created by Emerald Services +// Remove User + +const Discord = require("discord.js"); +const fs = require("fs"); + +const yaml = require('js-yaml'); +const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8')); + +module.exports = { + name: supportbot.RemoveUser, + + execute(message, args) { + console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.RemoveUser}!`); + + let staffGroup = message.guild.roles.cache.find(staffRole => staffRole.name === supportbot.Staff); + const NoPerms = new Discord.MessageEmbed() + .setTitle("Invalid Permissions!") + .setDescription(":warning: **Err!** You do not have the correct permissions to use this command.") + .setColor(supportbot.WarningColour) + message.channel.send({ embed: NoPerms }); + + if (!message.channel.name.startsWith( `${supportbot.TicketChannel}-` )) { + const Exists = new Discord.MessageEmbed() + .setTitle("Incorrect Channel") + .setDescription(`:warning: You cannot execute this command here. This command is used when closing a ticket.`) + .setColor(supportbot.WarningColour); + message.channel.send({ embed: Exists }); + + return; + } + + let rUser = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[0])); + const UserNotExist = new Discord.MessageEmbed() + .setTitle("User Not Found!") + .setDescription(`:x: **Error!** This user doesn't exist, Are they in this server?\n\nTry Again:\`${supportbot.Prefix}${supportbot.RemoveUser} \``) + .setColor(supportbot.ErrorColor) + + if (!rUser) return message.channel.send({ embed: UserNotExist }); + + message.channel.updateOverwrite(rUser, { + VIEW_CHANNEL: false, + CREATE_INVITE: false, + SEND_MESSAGES: false, + READ_MESSAGES: false + }); + + const Complete = new Discord.MessageEmbed() + .setTitle("User Removed!") + .setDescription(`👍 ${rUser} has been removed from this ticket`) + .setTimestamp() + .setColor(supportbot.EmbedColour) + message.channel.send({ embed: Complete }); + } +}; \ No newline at end of file diff --git a/supportbot-config.yml b/supportbot-config.yml index 25f4482..e1f7c46 100644 --- a/supportbot-config.yml +++ b/supportbot-config.yml @@ -35,6 +35,7 @@ WarningColour: "#fca117" AutoRole: "true" # By setting "AutoRole to 'true' the bot will automatically apply the role below when members joins. Set to 'false' to disable this feature. AutoRole_Role: "Member" +LockdownRole: "@everyone" Staff: "Support" Admin: "Admin" @@ -144,20 +145,18 @@ LinksCommand: "links" PingCommand: "ping" SuggestCommand: "suggest" -# Staff Command Configuration - -SayCommand: "say" -ChatLockCommand: "lock" -ChatUnlockCommand: "unlock" - -# Management Command Configuration - -AnnounceCommand: "announce" - # Support Command Configuration NewTicket: "ticket" CloseTicket: "close" AddUser: "add" RemoveUser: "remove" -RenameTicket: "rename" \ No newline at end of file +RenameTicket: "rename" + +# Staff Command Configuration + +SayCommand: "say" + +# Admin Command Configuration + +AnnounceCommand: "announce"