'use strict'; const commando = require("@iceprod/discord.js-commando"); const { cleanMentionID, findMemberRegEx, multipleMembersFound, trySend, findRoleRegEx, multipleRolesFound, multipleChannelsFound, findChannelRegEx } = require("../../resources/functions"); module.exports = class lookup extends commando.Command { constructor(client) { super(client, { name: "lookup", memberName: "lookup", group: "utility", description: "Lookup something in the server using mention, ID, or RegExp.", guildOnly: true }); } async run(msg, arg) { if (!arg) { return trySend(this.client, msg, "Args: `--[m|c|r]` [Member|Channel|Role]: `[mention|ID|name]` `--s` Show: `[number]`") } let show; const showArg = arg.match(/(? 0) { const res = parseInt(val, 10); show = res; } } } arg = arg.replace(/(? 1) { memMes = multipleRolesFound(msg, fetchedRoles, cleanRoleID, show, true); } else { if (fetchedRoles.length === 0 || fetchedRoles[0] === null) { return trySend(this.client, msg, `No role found for: **${cleanRoleID}**`); } memMes = `Role found for: **${cleanRoleID}**\`\`\`js\n' ${fetchedRoles[0].name} (${fetchedRoles[0].id})\`\`\``; } } } else { if (lowCaseArg0.startsWith("--c")) { if (args[1]) { const cleanChannelID = cleanMentionID(arg.slice("--c ".length).trim()); if (/^\d{17,19}$/.test(cleanChannelID)) { fetchedChannels.push(msg.guild.roles.cache.get(cleanChannelID)); } else { fetchedChannels = findChannelRegEx(msg, cleanChannelID); } if (fetchedChannels.length > 1) { memMes = multipleChannelsFound(msg, fetchedChannels, cleanChannelID, show, true); } else { if (fetchedChannels.length === 0 || fetchedChannels[0] === null) { return trySend(this.client, msg, `No channel found for: **${cleanChannelID}**`); } memMes = `Channel found for: **${cleanChannelID}**\`\`\`js\n' ${fetchedChannels[0].name} (${fetchedChannels[0].id})\`\`\``; } } } else { if (arg.startsWith("--m")) { arg = arg.slice("--m ".length).trim(); } arg = cleanMentionID(arg); if (/^\d{17,19}$/.test(arg)) { fetchedMember.push(msg.guild.member(arg)); } else { fetchedMember = findMemberRegEx(msg, arg); } if (fetchedMember.length > 1) { memMes = multipleMembersFound(msg, fetchedMember, arg, show, true); } else { if (fetchedMember.length === 0 || fetchedMember[0] === null) { return trySend(this.client, msg, `No member found for: **${arg}**`); } memMes = `Member found for: **${arg}**\`\`\`js\n' ${fetchedMember[0].user.tag} (${fetchedMember[0].user.id})\`\`\``; } } } if (memMes.length > 0) { return trySend(this.client, msg, { content: memMes, split: { char: ",", append: ",```", prepend: "```js", maxLength: 2000 } }); } } };