🐛 fix: Temp patch broken music player

This commit is contained in:
2024-06-16 00:34:31 +07:00
parent a47a1d0c27
commit 34d5ce00d3
19 changed files with 1021 additions and 199 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ import DiscordMusicPlayer, {
DiscordMusicPlayerInstance,
DiscordMusicPlayerLoopMode,
TrackUtils
} from '../../providers/DiscordMusicPlayer';
} from '../../providers/DiscordMusicPlayerTempFix';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
import Locale from '../../services/Locale';
+1 -1
View File
@@ -1,7 +1,7 @@
import { I18n } from 'i18n';
import { Message, CommandInteraction } from 'discord.js';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import { makeSuccessEmbed, makeErrorEmbed, sendHybridInteractionMessageResponse } from '../../utils/DiscordMessage';
+1 -1
View File
@@ -1,7 +1,7 @@
import { I18n } from 'i18n';
import { Message, CommandInteraction } from 'discord.js';
import DiscordMusicPlayer, { DiscordMusicPlayerLoopMode } from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer, { DiscordMusicPlayerLoopMode } from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
+1 -1
View File
@@ -3,7 +3,7 @@ import { I18n } from 'i18n';
import { SpotifyTrack, YouTubeVideo } from 'play-dl';
import DiscordProvider from '../../providers/Discord';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import { makeErrorEmbed, makeInfoEmbed, sendHybridInteractionMessageResponse } from '../../utils/DiscordMessage';
+1 -1
View File
@@ -1,7 +1,7 @@
import { Message, CommandInteraction, Interaction } from 'discord.js';
import { I18n } from 'i18n';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
+13 -1
View File
@@ -15,7 +15,7 @@ import { I18n } from 'i18n';
import { joinVoiceChannelProcedure } from './Join';
import DiscordProvider from '../../providers/Discord';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
@@ -92,6 +92,12 @@ const EMBEDS = {
description: errorMessage,
user: data.getUser()
});
},
TOO_LONG: (data: HybridInteractionMessage, locale: I18n) => {
return makeErrorEmbed({
title: locale.__('musicplayer_play.too_long'),
user: data.getUser()
});
}
};
export default class Play extends DiscordModule {
@@ -455,6 +461,12 @@ export default class Play extends DiscordModule {
}
instance.addTrackToQueue(result[0]);
// Max 1 hour
if (result[0].durationInSec > 3600)
return await sendHybridInteractionMessageResponse(data, {
embeds: [EMBEDS.TOO_LONG(data, locale)]
});
if (result.length > 1) {
// TODO: Find a better logic than this
// If the first result title is exact match with the query or first title contains half the space of the query, it's probably a sentence
+13 -1
View File
@@ -1,7 +1,7 @@
import { I18n } from 'i18n';
import { Message, CommandInteraction, ActivityType, ActionRowBuilder, ButtonBuilder, ButtonStyle } from 'discord.js';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import { makeSuccessEmbed, makeErrorEmbed, sendHybridInteractionMessageResponse } from '../../utils/DiscordMessage';
@@ -41,6 +41,12 @@ const EMBEDS = {
embed.setImage(TrackUtils.getHighestResolutionThumbnail(thumbnails).url);
return embed;
},
TOO_LONG: (data: HybridInteractionMessage, locale: I18n) => {
return makeErrorEmbed({
title: locale.__('musicplayer_playmy.too_long'),
user: data.getUser()
});
}
};
@@ -109,6 +115,12 @@ export default class PlayMy extends DiscordModule {
if (!result) continue;
instance.addTrackToQueue(result[0]);
// Max 1 hour
if (result[0].durationInSec > 3600)
return await sendHybridInteractionMessageResponse(data, {
embeds: [EMBEDS.TOO_LONG(data, locale)]
});
let row;
if (result.length > 1) {
// TODO: Find a better logic than this
+1 -1
View File
@@ -5,7 +5,7 @@ import DiscordMusicPlayer, {
DiscordMusicPlayerInstance,
DiscordMusicPlayerLoopMode,
TrackUtils
} from '../../providers/DiscordMusicPlayer';
} from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
+1 -1
View File
@@ -1,7 +1,7 @@
import { Message, CommandInteraction, Interaction } from 'discord.js';
import { I18n } from 'i18n';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayerTempFix';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
import {
+1 -1
View File
@@ -10,7 +10,7 @@ import { I18n } from 'i18n';
import { joinVoiceChannelProcedure } from './Join';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer, { TrackUtils, ValidTracks } from '../../providers/DiscordMusicPlayerTempFix';
import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
+1 -1
View File
@@ -3,7 +3,7 @@ import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModu
import { Message, CommandInteraction } from 'discord.js';
import { makeSuccessEmbed, makeErrorEmbed, sendHybridInteractionMessageResponse } from '../../utils/DiscordMessage';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayer';
import DiscordMusicPlayer from '../../providers/DiscordMusicPlayerTempFix';
import { I18n } from 'i18n';
import Locale from '../../services/Locale';