diff --git a/src/buttons/music/queueList-prec.ts b/src/buttons/music/queueList-prec.ts index 6326dd4..2c4c8ca 100644 --- a/src/buttons/music/queueList-prec.ts +++ b/src/buttons/music/queueList-prec.ts @@ -19,7 +19,7 @@ export default { }, interaction: async (interaction: MessageComponentInteraction, client: Client) => { const loc = getLocale(client, interaction.locale); - const embed_desc = interaction.message.embeds.at(0)?.author?.name as string; + const embed_desc = interaction.message.embeds.at(0)!.author!.name; // Retrieve Pages const pageMax = Number(/(\d+)(?!.*\d)/gm.exec(embed_desc)?.[0]); diff --git a/src/commands/loader.ts b/src/commands/loader.ts index b8b1c24..562a93e 100644 --- a/src/commands/loader.ts +++ b/src/commands/loader.ts @@ -64,14 +64,14 @@ export default async (client: Client) => { scopedCommands.forEach( async (command, guild) => - await rest.put(Routes.applicationGuildCommands(client.user?.id as string, guild), { + await rest.put(Routes.applicationGuildCommands(client.user!.id, guild), { body: command, }), ); // Send global commands to Discord const globalCommands = commands.filter((c) => c.scope().length === 0); - return await rest.put(Routes.applicationCommands(client.user?.id as string), { + return await rest.put(Routes.applicationCommands(client.user!.id), { body: globalCommands.map((c) => c.data.toJSON()), }); }; diff --git a/src/commands/misc/reminder.ts b/src/commands/misc/reminder.ts index 4c2c234..4d9fdc2 100644 --- a/src/commands/misc/reminder.ts +++ b/src/commands/misc/reminder.ts @@ -145,14 +145,14 @@ export default { case loc_default?.get(`c_${filename}_sub1_name`)?.toLowerCase(): { // If time is already renseigned const time = interaction.options.getString( - loc_default?.get(`c_${filename}_sub1_opt1_name`) as string, + loc_default!.get(`c_${filename}_sub1_opt1_name`)!, ); if (time != null) { // Use the cli because we already have enough data return newReminder(client, time, { locale: interaction.locale, message: interaction.options.getString( - loc_default?.get(`c_${filename}_sub1_opt2_name`) as string, + loc_default!.get(`c_${filename}_sub1_opt2_name`)!, ), createdAt: interaction.createdAt.getTime(), channelId: interaction.channelId, @@ -202,17 +202,13 @@ export default { // List reminders case loc_default?.get(`c_${filename}_sub2_name`)?.toLowerCase(): { // Which user to show - let user = interaction.options.getUser( - loc_default?.get(`c_${filename}_sub2_opt1_name`) as string, - ); + let user = interaction.options.getUser(loc_default!.get(`c_${filename}_sub2_opt1_name`)!); if (user === null) { user = interaction.user; } const page = - interaction.options.getInteger( - loc_default?.get(`c_${filename}_sub2_opt2_name`) as string, - ) ?? 1; + interaction.options.getInteger(loc_default!.get(`c_${filename}_sub2_opt2_name`)!) ?? 1; const list = await embedListReminders( client, user, @@ -253,7 +249,7 @@ export default { // Delete a reminder case loc_default?.get(`c_${filename}_sub3_name`)?.toLowerCase(): { const id = interaction.options.getInteger( - loc_default?.get(`c_${filename}_sub3_opt1_name`) as string, + loc_default!.get(`c_${filename}_sub3_opt1_name`)!, ); if (id === null) { return interaction.reply({ diff --git a/src/commands/music/lyrics.ts b/src/commands/music/lyrics.ts index 27088c2..affe0e3 100644 --- a/src/commands/music/lyrics.ts +++ b/src/commands/music/lyrics.ts @@ -74,9 +74,7 @@ export default { const loc = getLocale(client, interaction.locale); - let request = interaction.options.getString( - loc_default?.get(`c_${filename}_opt1_name`) as string, - ); + let request = interaction.options.getString(loc_default!.get(`c_${filename}_opt1_name`)!); let data = null; await interaction.deferReply(); diff --git a/src/commands/music/play.ts b/src/commands/music/play.ts index 7e8a274..0c6311c 100644 --- a/src/commands/music/play.ts +++ b/src/commands/music/play.ts @@ -93,9 +93,7 @@ export default { }); } - const query = interaction.options.getString( - loc_default?.get(`c_${filename}_opt1_name`) as string, - ); + const query = interaction.options.getString(loc_default!.get(`c_${filename}_opt1_name`)!); const player = useMainPlayer(); if (!query) { @@ -191,10 +189,7 @@ export default { const filename = getFilename(__filename); const player = useMainPlayer(); - const query = interaction.options.getString( - loc_default?.get(`c_${filename}_opt1_name`) as string, - true, - ); + const query = interaction.options.getString(loc_default!.get(`c_${filename}_opt1_name`)!, true); const limit_value_discord = 100; diff --git a/src/commands/music/queue.ts b/src/commands/music/queue.ts index 5a761c4..17f26cb 100644 --- a/src/commands/music/queue.ts +++ b/src/commands/music/queue.ts @@ -103,9 +103,7 @@ export default { // Show the queue case loc_default?.get(`c_${filename}_sub1_name`)?.toLowerCase(): { const page = - interaction.options.getNumber( - loc_default?.get(`c_${filename}_sub1_opt1_name`) as string, - ) ?? 1; + interaction.options.getNumber(loc_default!.get(`c_${filename}_sub1_opt1_name`)!) ?? 1; embedListQueue(client, embed, queue, page, interaction.locale); @@ -152,7 +150,7 @@ export default { // Remove case loc_default?.get(`c_${filename}_sub3_name`)?.toLowerCase(): { const id = interaction.options.getNumber( - loc_default?.get(`c_${filename}_sub3_opt1_name`) as string, + loc_default!.get(`c_${filename}_sub3_opt1_name`)!, )!; const track = queue.removeTrack(id - 1); diff --git a/src/events/message/messageCreate.ts b/src/events/message/messageCreate.ts index c76e35c..9d4d349 100644 --- a/src/events/message/messageCreate.ts +++ b/src/events/message/messageCreate.ts @@ -51,10 +51,10 @@ export default async (message: Message, client: Client) => { return data; } - const channel = message.guild.channels.cache.get(channel_id) as TextBasedChannel; + const channel = message.guild.channels.cache.get(channel_id); // If channel doesn't exist in the guild and isn't text - if (!channel) { + if (!channel || !channel.isTextBased()) { return data; } @@ -70,9 +70,10 @@ export default async (message: Message, client: Client) => { // If it's a reference, we only check for reference once const message_reference = quoted_message?.reference; if (message_reference && message_reference.messageId) { - const channel_reference = client.channels.cache.get( - message_reference.channelId, - ) as TextBasedChannel; + const channel_reference = client.channels.cache.get(message_reference.channelId); + if (!channel_reference?.isTextBased()) { + return; + } quoted_message = await channel_reference.messages .fetch(message_reference.messageId) @@ -105,12 +106,9 @@ export default async (message: Message, client: Client) => { // Handle attachments if (quoted_post?.attachments.size !== 0) { - if ( - quoted_post?.attachments.size === 1 && - isImage(quoted_post.attachments.first()?.name as string) - ) { + if (quoted_post?.attachments.size === 1 && isImage(quoted_post.attachments.first()!.name)) { // Only contains one image - embed.setImage(quoted_post.attachments.first()?.url as string); + embed.setImage(quoted_post.attachments.first()!.url); } else { // Contains more than one image and/or other files let files = ""; @@ -133,11 +131,7 @@ export default async (message: Message, client: Client) => { } // Footer - let footer = `Posté le ${showDate( - client.config.default_lang, - loc, - quoted_post?.createdAt as Date, - )}`; + let footer = `Posté le ${showDate(client.config.default_lang, loc, quoted_post!.createdAt)}`; if (quoted_post?.editedAt) { footer += ` et modifié le ${showDate(client.config.default_lang, loc, quoted_post.editedAt)}`; } diff --git a/src/modals/misc/reminderGUI.ts b/src/modals/misc/reminderGUI.ts index 1d4639b..35d46d8 100644 --- a/src/modals/misc/reminderGUI.ts +++ b/src/modals/misc/reminderGUI.ts @@ -7,7 +7,7 @@ export default { name: getFilename(__filename), }, interaction: async (interaction: ModalSubmitInteraction, client: Client) => - newReminder(client, interaction.fields.fields.get("reminderGUI-time")?.value as string, { + newReminder(client, interaction.fields.fields.get("reminderGUI-time")!.value, { locale: interaction.locale, message: interaction.fields.fields.get("reminderGUI-message")?.value ?? null, createdAt: interaction.createdAt.getTime(),