Remove optionals from whois and finduser
This commit is contained in:
@@ -13,30 +13,19 @@ export default {
|
|||||||
.setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
|
.setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
|
||||||
.addStringOption(option =>
|
.addStringOption(option =>
|
||||||
option
|
option
|
||||||
.setName('username')
|
.setName('user')
|
||||||
.setDescription('The e621 username to find the discord user of.')
|
.setDescription('The e621 username or e621 id to find the discord user of.')
|
||||||
.setRequired(false)
|
.setRequired(true)
|
||||||
)
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName('id')
|
|
||||||
.setDescription('The e621 user id to find the discord user of.')
|
|
||||||
.setRequired(false)
|
|
||||||
),
|
),
|
||||||
handler: async function (client: Client, interaction: ChatInputCommandInteraction) {
|
handler: async function (client: Client, interaction: ChatInputCommandInteraction) {
|
||||||
await deferInteraction(interaction);
|
await deferInteraction(interaction);
|
||||||
|
|
||||||
if (!interaction.guild) return interaction.editReply('This command must be used in a server');
|
if (!interaction.guild) return interaction.editReply('This command must be used in a server');
|
||||||
|
|
||||||
const username = interaction.options.getString('username');
|
const user = interaction.options.getString('user', true);
|
||||||
const id = interaction.options.getString('id');
|
|
||||||
|
|
||||||
if (!username && !id) {
|
|
||||||
return interaction.editReply({ content: 'No username or id given.' });
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const e621User = await getE621User((id ?? username) as string);
|
const e621User = await getE621User(user);
|
||||||
|
|
||||||
if (!e621User) {
|
if (!e621User) {
|
||||||
return interaction.editReply('I got lost along the way. Who again?');
|
return interaction.editReply('I got lost along the way. Who again?');
|
||||||
|
|||||||
+10
-16
@@ -1,6 +1,8 @@
|
|||||||
import { ApplicationIntegrationType, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js';
|
import { ApplicationIntegrationType, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js';
|
||||||
import { channelIsInStaffCategory, handleWhoIsInteraction } from '../utils';
|
import { channelIsInStaffCategory, handleWhoIsInteraction } from '../utils';
|
||||||
|
|
||||||
|
const mentionRegex = new RegExp(MessageMentions.UsersPattern);
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'whois',
|
name: 'whois',
|
||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
@@ -9,27 +11,19 @@ export default {
|
|||||||
.setIntegrationTypes(ApplicationIntegrationType.GuildInstall)
|
.setIntegrationTypes(ApplicationIntegrationType.GuildInstall)
|
||||||
.setContexts(InteractionContextType.Guild)
|
.setContexts(InteractionContextType.Guild)
|
||||||
.setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
|
.setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
|
||||||
.addUserOption(option =>
|
|
||||||
option
|
|
||||||
.setName('user')
|
|
||||||
.setDescription('The discord user to find the e621 user of.')
|
|
||||||
.setRequired(false)
|
|
||||||
)
|
|
||||||
.addStringOption(option =>
|
.addStringOption(option =>
|
||||||
option
|
option
|
||||||
.setName('id')
|
.setName('user')
|
||||||
.setDescription('The discord user id to find the e621 user of.')
|
.setDescription('The discord user mention, or ID to find the e621 user of.')
|
||||||
.setRequired(false)
|
.setRequired(true)
|
||||||
),
|
),
|
||||||
handler: async function (client: Client, interaction: ChatInputCommandInteraction) {
|
handler: async function (client: Client, interaction: ChatInputCommandInteraction) {
|
||||||
const user = interaction.options.getUser('user');
|
const input = interaction.options.getString('user', true);
|
||||||
const id = interaction.options.getString('id');
|
|
||||||
|
|
||||||
if (!user && !id) {
|
const matches = mentionRegex.exec(input);
|
||||||
return interaction.reply({ content: 'No user or id given.', flags: [MessageFlags.Ephemeral] });
|
mentionRegex.lastIndex = 0;
|
||||||
}
|
|
||||||
|
|
||||||
const idToUse = (user?.id ?? id) as string;
|
const idToUse = matches ? matches.groups!.id : input;
|
||||||
|
|
||||||
handleWhoIsInteraction(interaction, idToUse, !(await channelIsInStaffCategory(interaction.channel as GuildBasedChannel)));
|
handleWhoIsInteraction(interaction, idToUse, !(await channelIsInStaffCategory(interaction.channel as GuildBasedChannel)));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user