From 88f89eae11a304f7c35dfa3f4aabc93349c75e72 Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Sat, 6 Aug 2022 10:19:41 -0700 Subject: [PATCH] deprecate prefix commands --- commands/account.js | 15 +-- commands/channels.js | 31 +----- commands/checkStatus.js | 29 ----- commands/community.js | 16 --- commands/{login.js => connectAccount.js} | 17 +-- commands/debug.js | 55 +--------- commands/{logout.js => disconnectAccount.js} | 18 +--- commands/firearmSearch.js | 52 --------- commands/help.js | 105 ++---------------- commands/joinCommunity.js | 26 ----- commands/leaveCommunity.js | 24 ----- commands/nameSearch.js | 103 ------------------ commands/panic.js | 57 ---------- commands/ping.js | 10 -- commands/pingOnPanic.js | 12 --- commands/plateSearch.js | 61 ----------- commands/removeChannel.js | 32 ------ commands/removeRole.js | 35 ------ commands/roles.js | 30 ------ commands/setChannel.js | 22 ---- commands/setPrefix.js | 16 --- commands/setRole.js | 23 ---- commands/stats.js | 18 ---- commands/togglePingOnPanic.js | 30 ------ commands/updateLicense.js | 108 ------------------- commands/updateStatus.js | 45 -------- config/config.js | 2 +- structures/LinesPoliceCadBot.js | 49 +++------ util/RegisterSlashCommands.js | 5 - 29 files changed, 34 insertions(+), 1012 deletions(-) rename commands/{login.js => connectAccount.js} (55%) rename commands/{logout.js => disconnectAccount.js} (60%) diff --git a/commands/account.js b/commands/account.js index ec2fdb8..fd7c974 100644 --- a/commands/account.js +++ b/commands/account.js @@ -8,20 +8,7 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (user==null) return message.channel.send(`You are not logged in ${message.author}`); - return message.author.send(`${message.author} Logged in as **${user.user.username}** | **${user.user.email}**`); - }, - SlashCommand: { + SlashCommand: { options: [], /** * diff --git a/commands/channels.js b/commands/channels.js index e1c6a8f..30b2b9b 100644 --- a/commands/channels.js +++ b/commands/channels.js @@ -8,36 +8,7 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (guild.server.hasCustomChannels==false) { - return message.channel.send('There are no channels set for the bot.'); - } - - let channels = ``; - for (let i = 0; i < guild.server.allowedChannels.length; i++) { - if (guild.server.allowedChannels[i] == undefined) break; - if (channels.length==0) channels += `<#${guild.server.allowedChannels[i]}>`; - else channels += `\n<#${guild.server.allowedChannels[i]}>`; - } - let channelsEmbed = new MessageEmbed() - .setColor('#0099ff') - .setDescription('**Allowed Channels to use the Bot**') - .addFields( - { name: `There are currently ${guild.server.allowedChannels.length} allowed channels.`, value: `${channels}`, inline: true }, - ) - .setFooter('LPS Website Support', client.config.IconURL, 'https://discord.gg/jgUW656v2t') - return message.channel.send({ embeds: [channelsEmbed] }); - }, - SlashCommand: { + SlashCommand: { options: [], /** * diff --git a/commands/checkStatus.js b/commands/checkStatus.js index d9d3cdf..bbcb4af 100644 --- a/commands/checkStatus.js +++ b/commands/checkStatus.js @@ -8,35 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (user.user.activeCommunity == null) return message.channel.send(`You must join a community to use this command.`); - if (args.length == 0) { - return message.channel.send(`${message.author}'s status: \`${user.user.dispatchStatus}\` | Set by: \`${user.user.dispatchStatusSetBy}\``); - } else { - let targetUserID = args[0].replace('<@!', '').replace('>', ''); - let targetUser = await client.dbo.collection("users").findOne({"user.discord.id":targetUserID}).then(user => user); - // This lame line of code to get username without ping on discord - const User = client.users.cache.get(targetUserID); - if (!targetUser) return message.channel.send(`Cannot find **${args[0].value}** ${message.author}`); - if (targetUser.user.activeCommunity!=user.user.activeCommunity) { - return message.channel.send(`You are not in the same community as \`${User.tag}\` ${message.author}`); - } - return message.channel.send(`${message.author}, \`${User.tag}'s\` status: \`${targetUser.user.dispatchStatus}\` | Set by: \`${targetUser.user.dispatchStatusSetBy}\``); - } - }, SlashCommand: { options: [ { diff --git a/commands/community.js b/commands/community.js index b180c03..36c59e7 100644 --- a/commands/community.js +++ b/commands/community.js @@ -9,22 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (user.user.activeCommunity==null) return message.channel.send(`You are not in a community.`); - let community = await client.dbo.collection("communities").findOne({_id:ObjectId(user.user.activeCommunity)}).then(community => community); - if (!community) return message.channel.send(`Community not found.`); - return message.channel.send(`You are in the community \`${community.community.name}\``); - }, SlashCommand: { options: [], /** diff --git a/commands/login.js b/commands/connectAccount.js similarity index 55% rename from commands/login.js rename to commands/connectAccount.js index 9b46cc5..39854a1 100644 --- a/commands/login.js +++ b/commands/connectAccount.js @@ -1,24 +1,13 @@ const { MessageEmbed } = require('discord.js'); module.exports = { - name: "login", - description: "Connect your Lines Police CAD account to Discord", + name: "connectAccount", + description: "Connect your Discord Account to the Lines Police CAD Database", usage: "", permissions: { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - return message.channel.send('Login from Lines Police CAD account management https://www.linespolice-cad.com/'); - }, SlashCommand: { options: [], /** @@ -32,7 +21,7 @@ module.exports = { if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id)) { return interaction.send(`You are not allowed to use the bot in this channel.`); } - interaction.send('Login from Lines Police CAD account management https://www.linespolice-cad.com/'); + return interaction.send('Login from Lines Police CAD account management https://www.linespolice-cad.com/'); }, }, } \ No newline at end of file diff --git a/commands/debug.js b/commands/debug.js index 52c81da..7a9ffcf 100644 --- a/commands/debug.js +++ b/commands/debug.js @@ -5,64 +5,11 @@ module.exports = { name: "debug", description: "Debug for bot admin", usage: "command", + debug: true, permissions: { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - if (!client.config.Admins.includes(message.author.id)) return; - - if (args.length==0) return message.channel.send('Debug Error: Provide a debug command'); - if (!client.exists(args[0])) return message.channel.send('Debug Error: Provide a valid debug command'); - - let debugConsole = false - if (client.exists(args[1])&&args[1]=='true') debugConsole = true - - let command = args[0].toLowerCase(); - - if (command == 'server' || command == 'guild') { - if (debugConsole) { - client.log("Debug: Guild >> "); - console.debug(GuildDB); - } - return message.channel.send("Debug: guild >> read log output") - - } else if (command == "interaction") { - return message.channel.send(`Use slash command to debug \`interaction\``); - - } else if (command == "message") { - if (debugConsole) { - client.log("Debug: message >> "); - console.debug(message); - } - return message.channel.send("Debug: message >> read log output"); - - } else if (command == "pingserver") { - const socket = io.connect(client.config.socket); - socket.emit('botping', {message:'hello there'}); - socket.on('botpong', (data) => { - if (debugConsole) client.log('Debug: Socket responded') - return message.channel.send(`Debug: Socket responded`) - socket.disconnect(); - }); - - } else if (command == "apicheck") { - // TODO: Make axios call to api and get api health - return message.channel.send('Debug Notice: \`apicheck\` is currently unavailable'); - - } else { - return message.channel.send('Debug Error: Provide a valid debug command'); - - } - }, SlashCommand: { options: [ { diff --git a/commands/logout.js b/commands/disconnectAccount.js similarity index 60% rename from commands/logout.js rename to commands/disconnectAccount.js index 3f09096..5a0ffe0 100644 --- a/commands/logout.js +++ b/commands/disconnectAccount.js @@ -2,28 +2,12 @@ const { MessageEmbed } = require('discord.js'); module.exports = { name: "logout", - description: "Disconnect your Lines Police CAD account from Discord", + description: "Disconnect your Discord account from the Lines Police CAD Database", usage: "", permissions: { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You cannot logout if your not logged in.`); - client.dbo.collection("users").updateOne({"user.discord.id":message.author.id},{$unset:{"user.discord":""}, $set:{"user.discordConnected":false}},function(err,res) { - if (err) throw err; - return message.channel.send(`Succesfully disconnected you Discord account.`); - }); - }, SlashCommand: { options: [], /** diff --git a/commands/firearmSearch.js b/commands/firearmSearch.js index 0c9b70a..be45c2a 100644 --- a/commands/firearmSearch.js +++ b/commands/firearmSearch.js @@ -9,58 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["firearm_search", "firearmdb", "firearm_db"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (args.length==0) return message.channel.send(`You are missing a \`Serial Number\`.`); - let data = { - user: user, - query: { - serialNumber: args[0], - activeCommunityID: user.user.activeCommunity - } - } - const socket = io.connect(client.config.socket); - socket.emit('bot_firearm_search', data); - socket.on('bot_firearm_search_results', results => { - if (results.user._id==user._id) { - if (results.firearms.length==0) { - return message.channel.send(`No Firearms found ${message.author}`); - } - - for (let i = 0; i < results.firearms.length; i++) { - let firearmResult = new MessageEmbed() - .setColor('#0099ff') - .setTitle(`**${results.firearms[i].firearm.serialNumber} | ${results.firearms[i]._id}**`) - .setURL('https://discord.gg/jgUW656v2t') - .setAuthor('LPS Website Support', client.config.IconURL, 'https://discord.gg/jgUW656v2t') - .setDescription('Firearm Search Results') - .addFields( - { name: `**Serial Number**`, value: `\`${results.firearms[i].firearm.serialNumber}\``, inline: true }, - { name: `**Type**`, value: `\`${results.firearms[i].firearm.weaponType}\``, inline: true }, - { name: `**Owner**`, value: `\`${results.firearms[i].firearm.registeredOwner}\``, inline: true }, - ) - // Other details - let isStolen = results.firearms[i].firearm.isStolen; - if (isStolen=="false"||isStolen==false) firearmResult.addFields({name:`**Stolen**`,value:'\`No\`',inline: true}); - if (isStolen=="true"||isStolen==true) firearmResult.addFields({name:`**Stolen**`,value:'\`Yes\`',inline: true}); - message.channel.send({ embeds: [firearmResult] }); - } - } - socket.disconnect(); - }); - }, SlashCommand: { options: [ { diff --git a/commands/help.js b/commands/help.js index a8cd64b..9e3d188 100644 --- a/commands/help.js +++ b/commands/help.js @@ -8,77 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["command", "commands", "cmd"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - let Commands = client.commands.map((cmd) => - cmd.name != 'debug' ? `\`${GuildDB ? GuildDB.prefix : client.config.DefaultPrefix}${ - cmd.name - }${cmd.usage ? " " + cmd.usage : ""}\` - ${cmd.description}` : null - ); - let Embed = new MessageEmbed() - .setAuthor( - `Commands of ${client.user.username}`, - client.config.IconURL - ) - .setColor(client.config.EmbedColor) - .setFooter( - `To get info of each command type ${ - GuildDB ? GuildDB.prefix : client.config.DefaultPrefix - }help [Command] | Have a nice day!` - ).setDescription(`${Commands.join("\n")} - - Lines Police CAD Bot Version: v${client.config.Version}`); - if (!args[0]) { - message.channel.send({ embeds: [Embed] }); - } - else { - let cmd = - client.commands.get(args[0]) || - client.commands.find((x) => x.aliases && x.aliases.includes(args[0])); - if (!cmd) - return client.sendTime( - message.channel, - `❌ | Unable to find that command.` - ); - - let embed = new MessageEmbed() - .setAuthor(`Command: ${cmd.name}`, client.config.IconURL) - .setDescription(cmd.description) - .setColor("GREEN") - //.addField("Name", cmd.name, true) - .addField("Aliases", `\`${cmd.aliases.join(", ")}\``, true) - .addField( - "Usage", - `\`${GuildDB ? GuildDB.prefix : client.config.DefaultPrefix}${ - cmd.name - }${cmd.usage ? " " + cmd.usage : ""}\``, - true - ) - .addField( - "Permissions", - "Member: " + - cmd.permissions.member.join(", ") + - "\nBot: " + - cmd.permissions.channel.join(", "), - true - ) - .setFooter( - `Prefix - ${ - GuildDB ? GuildDB.prefix : client.config.DefaultPrefix - }` - ); - - message.channel.send({ embeds: [embed] }); - } - }, - SlashCommand: { options: [ { @@ -101,25 +30,18 @@ module.exports = { if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id)) { return interaction.send(`You are not allowed to use the bot in this channel.`); } - let Commands = client.commands.map((cmd) => - cmd.name != 'debug' ? `\`${GuildDB ? GuildDB.prefix : client.config.DefaultPrefix}${ - cmd.name - }${cmd.usage ? " " + cmd.usage : ""}\` - ${cmd.description}` : null + let Commands = client.commands.filter((cmd) => { + if (client.exists(cmd.debug)) return !cmd.debug + else return true + }).map((cmd) => + `\`/${cmd.name}${cmd.usage ? " " + cmd.usage : ""}\` - ${cmd.description}` ); let Embed = new MessageEmbed() - .setAuthor( - `Commands of ${client.user.username}`, - client.config.IconURL - ) .setColor(client.config.EmbedColor) - .setFooter( - `To get info of each command type ${ - GuildDB ? GuildDB.prefix : client.config.DefaultPrefix - }help [Command] | Have a nice day!` - ).setDescription(`${Commands.join("\n")} + .setDescription(`${Commands.join("\n")} - Lines Police CAD Bot Version: v${client.config.Version}`); + LPC Bot Version: v${client.config.Version}`); if (!args) return interaction.send(Embed); else { let cmd = @@ -137,13 +59,9 @@ module.exports = { .setAuthor(`Command: ${cmd.name}`, client.config.IconURL) .setDescription(cmd.description) .setColor("GREEN") - //.addField("Name", cmd.name, true) - .addField("Aliases", cmd.aliases.join(", "), true) .addField( "Usage", - `\`${GuildDB ? GuildDB.prefix : client.config.DefaultPrefix}${ - cmd.name - }\`${cmd.usage ? " " + cmd.usage : ""}`, + `\`/${cmd.name}${cmd.usage ? " " + cmd.usage : ""}\``, true ) .addField( @@ -154,13 +72,8 @@ module.exports = { cmd.permissions.channel.join(", "), true ) - .setFooter( - `Prefix - ${ - GuildDB ? GuildDB.prefix : client.config.DefaultPrefix - }` - ); - interaction.send(embed); + return interaction.send(embed); } }, }, diff --git a/commands/joinCommunity.js b/commands/joinCommunity.js index 5100ac7..d99ca5b 100644 --- a/commands/joinCommunity.js +++ b/commands/joinCommunity.js @@ -9,32 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["join"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (args.length==0) return message.channel.send(`You must provide a \`Community Code\`.`); - let myReq = { - userID: user._id, - communityCode: args[0] - }; - const socket = io.connect(client.config.socket); - socket.emit('bot_join_community', myReq); - socket.on('bot_joined_community', (data) => { - socket.disconnect() - if (data.error) { - return message.channel.send(`${data.error}`); - } - return message.channel.send(`Successfully joined the community \` ${data.commName} \``) - }); - }, SlashCommand: { options: [ { diff --git a/commands/leaveCommunity.js b/commands/leaveCommunity.js index 17bfd14..284cb43 100644 --- a/commands/leaveCommunity.js +++ b/commands/leaveCommunity.js @@ -9,30 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["leave"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - let myReq = { - userID: user._id - }; - const socket = io.connect(client.config.socket); - socket.emit('bot_leave_community', myReq); - socket.on('bot_left_community', (data) => { - socket.disconnect() - if (data.error) { - return message.channel.send(`${data.error}`); - } - return message.channel.send(`${data.message}`); - }); - }, SlashCommand: { options: [], /** diff --git a/commands/nameSearch.js b/commands/nameSearch.js index f897ed0..3f7a300 100644 --- a/commands/nameSearch.js +++ b/commands/nameSearch.js @@ -9,109 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["namedb", "name_search", "name_db"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - if (GuildDB.customRoleStatus) { - let userRoles = []; // TODO: get user roles - let hasRole = await client.hasRole(userRoles, GuildDB.serverID); - if (!hasRole) return message.channel.send(`You don't have permission to use this command.`); - } - - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (args.length==0) return message.channel.send(`You must provide a \`First Name\`, \`Last Name\` and \`DOB\`(yyyy-mm-dd).`); - if (args.length==1) return message.channel.send(`You're missing a \`Last Name\` and \`DOB\`(yyyy-mm-dd).`); - if (args.length==2) return message.channel.send(`You're missing a \`DOB\`(yyyy-mm-dd).`); - - let data = { - user: user, - query: { - firstName: args[0], - lastName: args[1], - dateOfBirth: args[2], - activeCommunityID: user.user.activeCommunity - } - } - - const socket = io.connect(client.config.socket); - socket.emit("bot_name_search", data); - socket.on("bot_name_search_results", results => { - - if (results.user._id==user._id) { - if (results.civilians.length == 0) { - return message.channel.send(`Name \`${args[0]} ${args[1]}\` not found ${message.author}`); - } - - for (let i = 0; i < results.civilians.length; i++) { - // Get Drivers Licence Status - let licenceStatus; - if (results.civilians[i].civilian.licenseStatus == 1) licenceStatus = 'Valid'; - if (results.civilians[i].civilian.licenceStatus == 2) licenceStatus = 'Revoked'; - if (results.civilians[i].civilian.licenceStatus == 3) licenceStatus = 'None'; - // Get Firearm Licence Status - let firearmLicence = results.civilians[i].civilian.firearmLicense; - if (firearmLicence == undefined || firearmLicence == null) firearmLicence = 'None'; - if (firearmLicence == '2') firearmLicence = 'Valid'; - if (firearmLicence == '3') firearmLicence = 'Revoked'; - let nameResult = new MessageEmbed() - .setColor('#0099ff') - .setTitle(`**${results.civilians[i].civilian.firstName} ${results.civilians[i].civilian.lastName} | ${results.civilians[i]._id}**`) - .setURL('https://discord.gg/jgUW656v2t') - .setAuthor('LPS Website Support', client.config.IconURL, 'https://discord.gg/jgUW656v2t') - .setDescription('Name Search Results') - .addFields( - { name: `**First Name**`, value: `\`${results.civilians[i].civilian.firstName}\``, inline: true }, - { name: `**Last Name**`, value: `\`${results.civilians[i].civilian.lastName}\``, inline: true }, - { name: `**DOB**`, value: `\`${results.civilians[i].civilian.birthday}\``, inline: true }, - { name: `**Drivers License**`, value: `\`${licenceStatus}\``, inline: true }, - { name: `**Firearm Licence**`, value: `\`${firearmLicence}\``, inline: true }, - { name: `**Gender**`, value: `\`${results.civilians[i].civilian.gender}\``, inline: true } - ) - // Check Other details - let address = results.civilians[i].civilian.address; - let occupation = results.civilians[i].civilian.occupation; - let height = results.civilians[i].civilian.height; - let weight = results.civilians[i].civilian.weight; - let eyeColor = results.civilians[i].civilian.eyeColor; - let hairColor = results.civilians[i].civilian.hairColor; - if (address != null && address != undefined && address != '') nameResult.addFields({ name: `**Address**`, value: `\`${address}\``, inline: true }); - if (occupation != null && occupation != undefined && occupation != '') nameResult.addFields({ name: `**Occupation**`, value: `\`${occupation}\``, inline: true }); - if (height!=null&&height!=undefined&&height!="NaN"&&height!='') { - if (results.civilians[i].civilian.heightClassification=='imperial') { - let ft = Math.floor(height/12); - let inch = height%12; - nameResult.addFields({ name: '**Height**', value: `\`${ft}'${inch}"\``, inline: true }); - } else { - nameResult.addFields({ name: '**Height**', value: `\`${height}cm\``, inline: true }); - } - } - if (weight!=null&&weight!=undefined&&weight!='') { - if (results.civilians[i].civilian.weightClassification=='imperial') { - nameResult.addFields({ name: '**Weight**', value: `\`${weight}lbs.\``, inline: true }); - } else { - nameResult.addFields({ name: '**Weight**', value: `\`${weight}kgs.\``, inline: true }); - } - } - if (eyeColor!=null&&eyeColor!=undefined&&eyeColor!='') nameResult.addFields({name:'**Eye Color**',value:`\`${eyeColor}\``,inline:true}); - if (hairColor!=null&&hairColor!=undefined&&hairColor!='') nameResult.addFields({name:'**Hair Color**',value:`\`${hairColor}\``,inline:true}); - nameResult.addFields({name:'**Organ Donor**',value:`\`${results.civilians[i].civilian.organDonor}\``,inline:true}); - nameResult.addFields({name:'**Veteran**',value:`\`${results.civilians[i].civilian.veteran}\``,inline:true}); - message.channel.send({ embeds: [nameResult] }); - } - } - socket.disconnect(); - }); - }, SlashCommand: { options: [ { diff --git a/commands/panic.js b/commands/panic.js index 949de63..0d9443c 100644 --- a/commands/panic.js +++ b/commands/panic.js @@ -8,63 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["enablepanic"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (user.user.activeCommunity==null) return message.channel.send(`You must join a community to use this command.`); - const socket = io.connect(client.config.socket); - // If panic is enabled, disable panic - if (user.user.dispatchStatus=='Panic') { - let myReq = { - userID: user._id, - communityID: user.user.activeCommunity - }; - socket.emit('clear_panic', myReq); - - let myUpdateReq = { - userID: user._id, - status: '10-8', - setBy: 'System', - onDuty: null, - updateDuty: false - }; - socket.emit('bot_update_status', myUpdateReq); - socket.on('bot_updated_status', (res) => { - message.channel.send(`Disabled Panic ${message.author} and set status to \`10-8\`.`); - socket.disconnect(); - }); - return; - - // If panic is disabled, enable panic - } else { - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (user.user.activeCommunity==null) return message.channel.send(`You must join a community to use this command.`); - client.forceUpdateStatus('Panic', user); - - let req = { - userID: user._id, - userUsername: user.user.username, - activeCommunity: user.user.activeCommunity - } - socket.emit('panic_button_update', req); - socket.disconnect(); - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (guild.server.pingOnPanic) return message.channel.send(`Attention <@&${guild.server.pingRole}>! \`${user.user.username}\` has activated panic`); - return; - } - }, SlashCommand: { options: [], /** diff --git a/commands/ping.js b/commands/ping.js index 73fe84c..adfcbb5 100644 --- a/commands/ping.js +++ b/commands/ping.js @@ -9,16 +9,6 @@ module.exports = { member: [], }, aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - return message.channel.send('Pong!'); - }, SlashCommand: { options: [], /** diff --git a/commands/pingOnPanic.js b/commands/pingOnPanic.js index 79504f1..26b3c0f 100644 --- a/commands/pingOnPanic.js +++ b/commands/pingOnPanic.js @@ -8,18 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["pingonpanicstatus"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - return message.channel.send(`Current Ping on Panic Status: ${guild.server.pingOnPanic}`); - }, SlashCommand: { options: [], /** diff --git a/commands/plateSearch.js b/commands/plateSearch.js index cfc3e05..97a7ca3 100644 --- a/commands/plateSearch.js +++ b/commands/plateSearch.js @@ -9,67 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["plate_search", "platedb", "plate_db"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (args.length==0) return message.channel.send(`You are missing a \`Plate #\`.`); - let data = { - user: user, - query: { - plateNumber: args[0], - activeCommunityID: user.user.activeCommunity - } - } - const socket = io.connect(client.config.socket); - socket.emit('bot_plate_search', data); - socket.on('bot_plate_search_results', results => { - - if (results.user._id==user._id) { - if (results.vehicles.length == 0) { - return message.channel.send(`Plate Number \`${args[0]}\` not found.`); - } - - for (let i = 0; i < results.vehicles.length; i++) { - let plateResult = new MessageEmbed() - .setColor('#0099ff') - .setTitle(`**${results.vehicles[i].vehicle.plate} | ${results.vehicles[i]._id}**`) - .setURL('https://discord.gg/jgUW656v2t') - .setAuthor('LPS Website Support', client.config.IconURL, 'https://discord.gg/jgUW656v2t') - .setDescription('Plate Search Results') - .addFields( - { name: `**Plate #**`, value: `\`${results.vehicles[i].vehicle.plate}\``, inline: true }, - { name: `**Vin #**`, value: `\`${results.vehicles[i].vehicle.vin}\``, inline: true }, - { name: `**Model**`, value: `\`${results.vehicles[i].vehicle.model}\``, inline: true }, - { name: `**Color**`, value: `\`${results.vehicles[i].vehicle.color}\``, inline: true }, - { name: `**Owner**`, value: `\`${results.vehicles[i].vehicle.registeredOwner}\``, inline: true }, - ) - // Other details - let validRegistration = results.vehicles[i].vehicle.validRegistration; - let validInsurance = results.vehicles[i].vehicle.validInsurance; - let stolen = results.vehicles[i].vehicle.isStolen; - if (validRegistration=='1') plateResult.addFields({ name: `**Registration**`, value: `\`Valid\``, inline: true }); - if (validRegistration=='2') plateResult.addFields({ name: `**Registration**`, value: `\`InValid\``, inline: true }); - if (validInsurance=='1') plateResult.addFields({ name: `**Insurance**`, value: `\`Valid\``, inline: true }); - if (validInsurance=='2') plateResult.addFields({ name: `**Insurance**`, value: `\`InValid\``, inline: true }); - if (stolen=='1') plateResult.addFields({ name: `**Stolen**`, value: `\`No\``, inline: true }); - if (stolen=='2') plateResult.addFields({ name: `**Stolen**`, value: `\`Yes\``, inline: true }); - message.channel.send({ embeds: [plateResult] }); - } - } - socket.disconnect(); - }); - }, SlashCommand: { options: [ { diff --git a/commands/removeChannel.js b/commands/removeChannel.js index 81f37d7..7095484 100644 --- a/commands/removeChannel.js +++ b/commands/removeChannel.js @@ -8,38 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: ["remove_role"], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - if (args.length==0) return message.channel.send(`You must provide a channel.`); - let channelid = args[0].replace('<#', '').replace('>', ''); - let channel = client.channels.cache.get(channelid); - if (!channel) return message.channel.send(`Uh Oh! The channel ${args[0]} connot be found.`); - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (guild.server.hasCustomChannels==false) return message.channel.send(`There are no channels to be removed.`); - if (!guild.server.allowedChannels.includes(channelid)) return message.channel.send(`The channel ${args[0]} is not added to your roles.`); - for (let i = 0; i < guild.server.allowedChannels.length; i++) { - if (guild.server.allowedChannels[i]==channelid) { - if ((guild.server.allowedChannels.length-1)==0) { - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$pull:{"server.allowedChannels":channelid},$set:{"server.hasCustomChannels":false}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully removed ${args[0]} from allowed channels ${message.author}! There are no more allowed channels.`); - }); - } else if ((guild.server.allowedChannels.length-1)>0) { - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$pull:{"server.allowedChannels":channelid}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully removed ${args[0]} from allowed channels.`); - }); - } - } - } - }, SlashCommand: { options: [ { diff --git a/commands/removeRole.js b/commands/removeRole.js index 0555196..4698d44 100644 --- a/commands/removeRole.js +++ b/commands/removeRole.js @@ -8,41 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: ["MANAGE_GUILD"], }, - aliases: ["remove_role"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - if (args.length==0) return message.channel.send(`You must provide a role.`); - let roleid = args[0].replace('<@&', '').replace('>', ''); - let role = message.guild.roles.cache.find(x => x.id == roleid); - if (role == undefined) { - return message.channel.send(`Uh Oh! The role ${args[0]} connot be found.`); - } else { - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (guild.server.hasCustomRoles==false) return message.channel.send(`There are no roles to be removed.`); - if (!guild.server.allowedRoles.includes(roleid)) return message.channel.send(`The role ${args[0]} is not added to your roles.`); - for (let i = 0; i < guild.server.allowedRoles.length; i++) { - if (guild.server.allowedRoles[i]==roleid) { - if ((guild.server.allowedRoles.length-1)==0) { - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$pull:{"server.allowedRoles":roleid},$set:{"server.hasCustomRoles":false}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully removed ${args[0]} from allowed roles! There are no more allowed roles.`); - }); - } else if ((guild.server.allowedRoles.length-1)>0) { - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$pull:{"server.allowedRoles":roleid}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully removed ${args[0]} from allowed roles.`); - }); - } - } - } - } - }, SlashCommand: { options: [ { diff --git a/commands/roles.js b/commands/roles.js index ae2cbfd..539bead 100644 --- a/commands/roles.js +++ b/commands/roles.js @@ -8,36 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (guild.server.hasCustomRoles==false) { - return message.channel.send('There are no roles set for the bot.'); - } - - let roles = ``; - for (let i = 0; i < guild.server.allowedRoles.length; i++) { - if (guild.server.allowedRoles[i] == undefined) break; - let role = message.guild.roles.cache.find(r => r.id == guild.server.allowedRoles[i]); - if (roles.length==0) roles += `@${role.name}`; - else roles += `\n@${role.name}`; - } - let rolesEmbed = new MessageEmbed() - .setColor('#0099ff') - .setDescription('**Allowed Roles to use the Bot**') - .addFields( - { name: `There are currently ${guild.server.allowedRoles.length} allowed roles.`, value: `\`${roles}\``, inline: true }, - ) - .setFooter('LPS Website Support', client.config.IconURL, 'https://discord.gg/jgUW656v2t') - return message.channel.send({ embeds: [rolesEmbed] }); - }, SlashCommand: { options: [], /** diff --git a/commands/setChannel.js b/commands/setChannel.js index cfc0005..71b669c 100644 --- a/commands/setChannel.js +++ b/commands/setChannel.js @@ -8,28 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: ["MANAGE_GUILD"], }, - aliases: ["set_channel", "addchannel", "add_channel"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - if (args.length==0) return message.channel.send(`You must provide a channel.`); - let channelid = args[0].replace('<#', '').replace('>', ''); - let channel = client.channels.cache.get(channelid); - if (!channel) return message.channel.send(`Cannot find that channel.`); - if (channel.type=="voice") return message.channel.send(`Connot set voice channel to preferred channel.`); - if (channel.deleted) return message.channel.send(`Connot set deleted channel to preferred channel.`); - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (client.exists(guild.server.allowedChannels)&&guild.server.allowedChannels.includes(channelid)) return message.channel.send(`The channel ${args[0]} has already been added.`); - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$push:{"server.allowedChannels":channelid},$set:{"server.hasCustomChannels":true}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully added ${args[0]} to allowed channels.`); - }); - }, SlashCommand: { options: [ { diff --git a/commands/setPrefix.js b/commands/setPrefix.js index 37a101a..6417a2e 100644 --- a/commands/setPrefix.js +++ b/commands/setPrefix.js @@ -8,22 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: ["MANAGE_GUILD"], }, - aliases: ["newprefix", "new_prefix", "set_prefix"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - if (args[0]==undefined) return message.channel.send(`You must provide a \`new prefix\` ${message.author}`); - if (args[0].length<1) return message.channel.send('Your new prefix must be \`1\` character!') - client.dbo.collection("prefixes").updateOne({"server.serverID":GuildDB.serverID},{$set:{"server.prefix":args[0]}},function(err, res) { - if (err) throw err; - message.channel.send(`The new prefix is now **\`${args[0]}\`**`); - }); - }, SlashCommand: { options: [ { diff --git a/commands/setRole.js b/commands/setRole.js index 29698f5..8282130 100644 --- a/commands/setRole.js +++ b/commands/setRole.js @@ -8,29 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: ["MANAGE_GUILD"], }, - aliases: ["set_role", "addrole", "add_role"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - if (args.length==0) return message.channel.send(`You must provide a role.`); - let roleid = args[0].replace('<@&', '').replace('>', ''); - let role = message.guild.roles.cache.find(x => x.id == roleid); - if (role == undefined) { - return message.channel.send(`Uh Oh! The role ${args[0]} connot be found.`); - } else { - let guild = await client.dbo.collection("prefixes").findOne({"server.serverID":message.guild.id}).then(guild => guild); - if (client.exists(guild.server.allowedRoles)&&guild.server.allowedRoles.includes(roleid)) return message.channel.send(`The role ${args[0]} has already been added.`); - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$push:{"server.allowedRoles":roleid},$set:{"server.hasCustomRoles":true}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully added ${args[0]} to allowed roles.`); - }); - } - }, SlashCommand: { options: [ { diff --git a/commands/stats.js b/commands/stats.js index 0ba4031..1a2a37a 100644 --- a/commands/stats.js +++ b/commands/stats.js @@ -9,24 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["stat", "statistics", "info"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message) => { - const stats = new MessageEmbed() - .setColor('#0099ff') - .setTitle("Current LPC-Bot Statistics") - .setURL(client.config.SupportServer) - .addField(" \u200B ", "**Channels** : ` " + `${client.channels.cache.size}` + " `") - .addField(" \u200B ", "**Servers** : ` " + `${client.guilds.cache.size}` + " `") - .addField(" \u200B ", "**Users** : ` " + `${client.users.cache.size}` + " `") - return message.channel.send({ embeds: [stats] }); - }, SlashCommand: { /** * diff --git a/commands/togglePingOnPanic.js b/commands/togglePingOnPanic.js index 0268657..a4b10a4 100644 --- a/commands/togglePingOnPanic.js +++ b/commands/togglePingOnPanic.js @@ -8,36 +8,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - if (args.length==0) return message.channel.send(`You must provide a \`Ping On Role Status\` and a \`role\` to ping.`); - if (args[0]=="false") { - // disable ping on panic and remove ping role - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$set:{"server.pingOnPanic":false,"server.pingRole":null}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully disabled ping role on panic.`); - }); - } else if (args[0]=="true") { - if (!args[1]) return message.channel.send(`You must provide a \`role\` to ping .`); - let roleid = args[1].replace('<@&', '').replace('>', ''); - let role = message.guild.roles.cache.find(x => x.id == roleid); - if (role == undefined) { - return message.channel.send(`Uh Oh! The role ${args[1]} connot be found.`); - } else { - client.dbo.collection("prefixes").updateOne({"server.serverID":message.guild.id},{$set:{"server.pingRole":roleid,"server.pingOnPanic":true}},function(err, res) { - if (err) throw err; - return message.channel.send(`Successfully set ${args[1]} to be pinged on panic.`); - }); - } - } else return message.channel.send(`\`${args[0]}\` is an invalid status, use \`true\` or \`false\``); - }, SlashCommand: { options: [ { diff --git a/commands/updateLicense.js b/commands/updateLicense.js index 2a7d251..d5701a5 100644 --- a/commands/updateLicense.js +++ b/commands/updateLicense.js @@ -9,114 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: [], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in.`); - if (args.length==0) return message.channel.send(`You must provide a \`First Name\`, \`Last Name\`, \`DOB\`(yyyy-mm-dd).`); - if (args.length==1) return message.channel.send(`You're missing a \`Last Name\` and \`DOB\`(yyyy-mm-dd).`); - if (args.length==2) return message.channel.send(`You're missing a \`DOB\`(yyyy-mm-dd).`); - - let data = { - user: user, - query: { - firstName: args[0], - lastName: args[1], - dateOfBirth: args[2], - activeCommunityID: user.user.activeCommunity - } - } - - const socket = io.connect(client.config.socket); - socket.emit("bot_name_search", data); - socket.on("bot_name_search_results", (results) => { - if (results.user._id==user._id) { - if (results.civilians.length == 0) { - return message.channel.send(`Name \`${args[0]} ${args[1]}\` not found.`); - } - } - - let nameResult; - let row; - for (let i = 0; i < results.civilians.length; i++) { - // Get Drivers Licence Status - let licenseStatus; - if (results.civilians[i].civilian.licenseStatus == 1) licenseStatus = 'Valid'; - if (results.civilians[i].civilian.licenseStatus == 2) licenseStatus = 'Revoked'; - if (results.civilians[i].civilian.licenseStatus == 3) licenseStatus = 'None'; - nameResult = new MessageEmbed() - .setColor('#0099ff') - .setTitle(`**${results.civilians[i].civilian.firstName} ${results.civilians[i].civilian.lastName} | ${results.civilians[i]._id}**`) - .setURL('https://discord.gg/jgUW656v2t') - .setAuthor('LPS Website Support', client.config.IconURL, 'https://discord.gg/jgUW656v2t') - .setDescription('Name Search Results') - .addFields( - { name: `**First Name**`, value: `\`${results.civilians[i].civilian.firstName}\``, inline: true }, - { name: `**Last Name**`, value: `\`${results.civilians[i].civilian.lastName}\``, inline: true }, - { name: `**DOB**`, value: `\`${results.civilians[i].civilian.birthday}\``, inline: true }, - { name: `**Drivers License**`, value: `\`${licenseStatus}\``, inline: true }, - { name: `**Gender**`, value: `\`${results.civilians[i].civilian.gender}\``, inline: true } - ) - row = new MessageActionRow() - .addComponents( - new MessageButton() - .setCustomId(`license-revoke-${results.civilians[i]._id}`) - .setLabel("Revoke") - .setStyle("DANGER"), - new MessageButton() - .setCustomId(`license-reinstate-${results.civilians[i]._id}`) - .setLabel("Reinstate") - .setStyle("SUCCESS") - ) - } - - message.channel.send({ embeds: [nameResult], components: [row] }); - - const filter = i => { - return i.user.id == message.author.id; - } - - const collector = message.channel.createMessageComponentCollector({ - filter, - max: 1, - time: 20000 - }); - - collector.on('collect', async ButtonInteraction => { - const socket = io.connect(client.config.socket); - - let queryString = ButtonInteraction.customId; - let query = { - _id: "", - status: null, - bot_request: true - }; - if (queryString.substr(8, 6)=='revoke') { - query.status = 2; - query._id = queryString.substr(15, 24); - } else if (queryString.substr(8, 9)=='reinstate') { - query.status = 1; - query._id = queryString.substr(18, 24); - } - socket.emit("update_drivers_license_status", query); - socket.on("bot_updated_drivers_license_status", (res) => { - if (!res.success) ButtonInteraction.update({ content: 'Failed to update license.', embeds: [], components: [] }); - socket.disconnect(); - }); - return ButtonInteraction.update({ content: 'Successfully updated license.', embeds: [], components: [] }); - }); - }); - }, SlashCommand: { options: [ { diff --git a/commands/updateStatus.js b/commands/updateStatus.js index 87e8929..16eff94 100644 --- a/commands/updateStatus.js +++ b/commands/updateStatus.js @@ -9,51 +9,6 @@ module.exports = { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, - aliases: ["update_status"], - /** - * - * @param {require("../structures/LinesPoliceCadBot")} client - * @param {import("discord.js").Message} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, message, args, { GuildDB }) => { - let useCommand = await client.verifyUseCommand(GuildDB.serverID, message.member.roles.cache, false); - if (!useCommand) return message.channel.send("You don't have permission to use this command"); - - let validStatus=['10-8','10-7','10-6','10-11','10-23','10-97','10-15','10-70','10-80', '10-41', '10-42']; - let user = await client.dbo.collection("users").findOne({"user.discord.id":message.author.id}).then(user => user); - if (!user) return message.channel.send(`You are not logged in ${message.author}`); - if (user.user.activeCommunity==null) return message.channel.send(`You must join a community to use this command.`); - if (args.length==0) return message.channel.send(`You must provide a new status.`); - if (!validStatus.includes(args[0])) return message.channel.send(`\`${args[0]}\` is a Invalid Status.`); - let onDuty=null; - let updateDuty=false; - let status = args[0] - if (args[0]=='10-41') { - onDuty=true; - updateDuty=true; - status='Online'; - } - if (args[0]=='10-42') { - onDuty=false; - updateDuty=true; - status='Offline'; - } - let req={ - userID: user._id, - status: status, - setBy: 'Self', - onDuty: onDuty, - updateDuty: updateDuty - }; - const socket = io.connect(client.config.socket); - socket.emit('bot_update_status', req); - socket.on('bot_updated_status', (res) => { - message.channel.send(`Succesfully updated status to \`${args[0]}\` ${message.author}`); - socket.disconnect(); - }); - }, SlashCommand: { options: [ { diff --git a/config/config.js b/config/config.js index 3238029..a83b41b 100644 --- a/config/config.js +++ b/config/config.js @@ -1,6 +1,6 @@ module.exports = { Dev: "PRODUCTION", - Version: "3.0.0", + Version: "3.1.2", Admins: ["362791661274660874"], // Admins of the bot DefaultPrefix: "?", socket: "https://www.linespolice-cad.com/", diff --git a/structures/LinesPoliceCadBot.js b/structures/LinesPoliceCadBot.js index 8014022..b2e2298 100644 --- a/structures/LinesPoliceCadBot.js +++ b/structures/LinesPoliceCadBot.js @@ -126,7 +126,7 @@ class LinesPoliceCadBot extends Client { else files.forEach((file) => { let cmd = require(CommandsDir + "/" + file); - if (!cmd.name || !cmd.description || !cmd.run) + if (!cmd.name || !cmd.description) return this.log( "Unable to load Command: " + file.split(".")[0] + @@ -186,42 +186,27 @@ class LinesPoliceCadBot extends Client { } async GetGuild(GuildId) { - let prefix; - let customRoleStatus; - let customChannelStatus; - let allowedChannels; let guild = await this.dbo.collection("prefixes").findOne({"server.serverID":GuildId}).then(guild => guild); - // If guild not found, generate guild default - if (!guild) { - let newGuild = { - server: { - serverID: GuildId, - prefix: this.config.DefaultPrefix, - hasCustomRoles: false, - hasCustomChannels: false, - } + // If guild not found, generate guild default + if (!guild) { + let guild = { + server: { + serverID: GuildId, + prefix: this.config.DefaultPrefix, + hasCustomRoles: false, + hasCustomChannels: false, + allowedChannels: [], } - this.dbo.collection("prefixes").insertOne(newGuild, function(err, res) { - if (err) throw err; - }); - prefix = newGuild.server.prefix; - customRoleStatus = newGuild.server.hasCustomRoles; - customChannelStatus = newGuild.server.hasCustomChannels; - allowedChannels = null; - } else { - prefix = guild.server.prefix; - customRoleStatus = guild.server.hasCustomRoles; - customChannelStatus = guild.server.hasCustomChannels; - if (guild.server.allowedChannels!=undefined||guild.server.allowedChannels!=null&&guild.server.allowedChannels.length>0) { - allowedChannels = guild.server.allowedChannels; - } else allowedChannels = null; } + this.dbo.collection("prefixes").insertOne(guild, function(err, res) { + if (err) throw err; + }); + } let guildData = { - prefix: prefix, - allowedChannels: allowedChannels, - customRoleStatus: customRoleStatus, - customChannelStatus: customChannelStatus, + allowedChannels: guild.server.allowedChannels, + customRoleStatus: guild.server.hasCustomRoles, + customChannelStatus: guild.server.hasCustomChannels, serverID: GuildId } return guildData; diff --git a/util/RegisterSlashCommands.js b/util/RegisterSlashCommands.js index e3f14e8..9971540 100644 --- a/util/RegisterSlashCommands.js +++ b/util/RegisterSlashCommands.js @@ -29,11 +29,6 @@ module.exports = (client, guild) => { await GuildAPI.commands.post({ data: dataStuff }); } catch (e) { client.log('Error: API missing permissions, re-invite the bot'); - - // Forces bot to leave server - let guildID = client.guilds.cache.get(guild); - if (guildID) guildID.leave(); - client.log(`Server stats is now down to ${client.guilds.cache.size}`); } }); });