diff --git a/src/commands/misc/help.ts b/src/commands/misc/help.ts index 8d5bcd3..0353e59 100644 --- a/src/commands/misc/help.ts +++ b/src/commands/misc/help.ts @@ -1,9 +1,9 @@ import { SlashCommandBuilder } from "@discordjs/builders"; import { Locale } from "discord-api-types/v9"; -import { Client, ChatInputCommandInteraction, EmbedBuilder, Colors } from "discord.js"; +import { ChatInputCommandInteraction, Client, Colors, EmbedBuilder } from "discord.js"; +import "../../modules/string"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; -import "../../modules/string"; export default { scope: () => [], diff --git a/src/commands/music/play.ts b/src/commands/music/play.ts index c48489c..26da0e2 100644 --- a/src/commands/music/play.ts +++ b/src/commands/music/play.ts @@ -1,4 +1,5 @@ import { SlashCommandBuilder } from "@discordjs/builders"; +import { Player, SearchResult, useMainPlayer, useQueue } from "discord-player"; import { AutocompleteInteraction, ChatInputCommandInteraction, @@ -7,10 +8,9 @@ import { GuildResolvable, VoiceBasedChannel, } from "discord.js"; -import { Metadata } from "../../utils/metadata"; import { getLocale, getLocalizations } from "../../utils/locales"; +import { Metadata } from "../../utils/metadata"; import { getFilename } from "../../utils/misc"; -import { Player, QueryType, SearchResult, useMainPlayer, useQueue } from "discord-player"; export default { scope: () => [], @@ -118,7 +118,6 @@ export default { const result = await player .search(query, { requestedBy: interaction.user, - searchEngine: QueryType.YOUTUBE_SEARCH, }) .then((x) => x); @@ -151,6 +150,7 @@ export default { }, autocomplete: async (interaction: AutocompleteInteraction) => { + const loc = getLocale(interaction.client, interaction.locale); const loc_default = interaction.client.locales.get(interaction.client.config.default_lang); const filename = getFilename(__filename); @@ -168,12 +168,12 @@ export default { const delay = new Promise(function (_, reject) { timeoutId = setTimeout(function () { reject(new Error()); - }, 2900); + }, 2800); }); /* Create a race between a timeout and the search * At the end, Discord will always receive a response */ - const tracks = await Promise.race([ + let tracks = await Promise.race([ delay, player.search(query, { requestedBy: interaction.user, @@ -187,15 +187,22 @@ export default { return []; }); - // Returns a list of songs with their title - return interaction.respond( - tracks.slice(0, 10).map((t) => ({ - name: t.title, - value: t.url, - })) - ); - } else { - return interaction.respond([]); + // If tracks found + if (tracks.length > 0) { + // Slice the list if needed + if (tracks.length > 25) { + tracks = tracks.slice(0, 25); + } + + // Returns a list of songs with their title and author + return interaction.respond( + tracks.map((t) => ({ + name: `${t.title} • ${t.author}`, + value: t.url, + })) + ); + } } + return interaction.respond([{ name: loc.get("c_play9"), value: query }]); }, }; diff --git a/src/commands/music/stop.ts b/src/commands/music/stop.ts index e6432a9..6a58220 100644 --- a/src/commands/music/stop.ts +++ b/src/commands/music/stop.ts @@ -1,9 +1,9 @@ import { SlashCommandBuilder } from "@discordjs/builders"; -import { ChatInputCommandInteraction, Client, GuildResolvable } from "discord.js"; -import { Metadata } from "../../utils/metadata"; -import { getLocale, getLocalizations } from "../../utils/locales"; -import { getFilename } from "../../utils/misc"; import { Player, useMainPlayer } from "discord-player"; +import { ChatInputCommandInteraction, Client, GuildResolvable } from "discord.js"; +import { getLocale, getLocalizations } from "../../utils/locales"; +import { Metadata } from "../../utils/metadata"; +import { getFilename } from "../../utils/misc"; export default { scope: () => [], diff --git a/src/events/message/messageCreate.ts b/src/events/message/messageCreate.ts index c147430..21a94a3 100644 --- a/src/events/message/messageCreate.ts +++ b/src/events/message/messageCreate.ts @@ -1,4 +1,4 @@ -import { Client, GuildMember, Message, TextBasedChannel, EmbedBuilder } from "discord.js"; +import { Client, EmbedBuilder, GuildMember, Message, TextBasedChannel } from "discord.js"; import { getLocale } from "../../utils/locales"; import { isImage, userWithNickname } from "../../utils/misc"; import { showDate } from "../../utils/time"; diff --git a/src/load.ts b/src/load.ts index 7e3d793..870e7eb 100644 --- a/src/load.ts +++ b/src/load.ts @@ -1,8 +1,8 @@ -import loadClient, { quit } from "./utils/client"; -import loadEvents from "./events/loader"; -import loadModals from "./modals/loader"; import loadButtons from "./buttons/loader"; import loadCommands from "./commands/loader"; +import loadEvents from "./events/loader"; +import loadModals from "./modals/loader"; +import loadClient, { quit } from "./utils/client"; import { logStart } from "./utils/misc"; diff --git a/src/locales/fr.json b/src/locales/fr.json index fce91b8..b634f29 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -90,6 +90,7 @@ "c_play6": "Le bot ne joue rien en ce moment.", "c_play7": "Joue actuellement", "c_play8": "Demandé par", + "c_play9": "Aucun résultat trouvé", "c_stop_name": "stop", "c_stop_desc": "Stop la musique", diff --git a/src/modals/loader.ts b/src/modals/loader.ts index bd5d958..c8d622e 100644 --- a/src/modals/loader.ts +++ b/src/modals/loader.ts @@ -1,6 +1,6 @@ +import { Client } from "discord.js"; import { readdir } from "fs/promises"; import { removeExtension } from "../utils/misc"; -import { Client } from "discord.js"; export default async (client: Client) => { // Dossier des modals diff --git a/src/modules/client.ts b/src/modules/client.ts index 769687f..8d4f519 100644 --- a/src/modules/client.ts +++ b/src/modules/client.ts @@ -1,5 +1,5 @@ -import { Collection } from "discord.js"; import { SlashCommandBuilder } from "@discordjs/builders"; +import { Collection } from "discord.js"; import { Database } from "sqlite3"; export {}; diff --git a/src/utils/client.ts b/src/utils/client.ts index 8d52dc0..8aa3330 100644 --- a/src/utils/client.ts +++ b/src/utils/client.ts @@ -1,10 +1,10 @@ +import { lyricsExtractor } from "@discord-player/extractor"; +import { Player } from "discord-player"; import { Client, Collection, GatewayIntentBits } from "discord.js"; import { readFileSync } from "fs"; -import { loadLocales } from "./locales"; -import "../modules/client"; import { Database } from "sqlite3"; -import { Player } from "discord-player"; -import { lyricsExtractor } from "@discord-player/extractor"; +import "../modules/client"; +import { loadLocales } from "./locales"; /** Creation of the client and definition of its properties. */ export default async () => {