aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2022-12-04 01:55:58 -0500
committerAndrew Lee <alee14498@protonmail.com>2022-12-04 01:55:58 -0500
commitf91f277a30a081cde95805bf39adeb835be98c3f (patch)
tree86c3c8c1299dcf33a180c87c16e7d37bade0291f /backend
parentc576ed4e454fe6b4974e7ad873670e3adc9d0a96 (diff)
downloadDLAP-f91f277a30a081cde95805bf39adeb835be98c3f.tar.gz
DLAP-f91f277a30a081cde95805bf39adeb835be98c3f.tar.bz2
DLAP-f91f277a30a081cde95805bf39adeb835be98c3f.zip
Added repeat toggle; Did some optiminizations to the code
Diffstat (limited to 'backend')
-rw-r--r--backend/AudioControl.js19
-rw-r--r--backend/PlayAudio.js2
-rw-r--r--backend/VoiceInitialization.js2
3 files changed, 17 insertions, 6 deletions
diff --git a/backend/AudioControl.js b/backend/AudioControl.js
index 71952c1..2b314d2 100644
--- a/backend/AudioControl.js
+++ b/backend/AudioControl.js
@@ -22,20 +22,31 @@ import { readdirSync, readFileSync } from 'node:fs';
import { shufflePlaylist, orderPlaylist } from './QueueSystem.js';
import { playAudio, currentTrack, updatePlaylist } from './PlayAudio.js';
import { player } from './VoiceInitialization.js';
+import { destroyAudio } from './Shutdown.js';
-const { shuffle } = JSON.parse(readFileSync('./config.json', 'utf-8'));
+const { shuffle, repeat } = JSON.parse(readFileSync('./config.json', 'utf-8'));
export const files = readdirSync('music');
export let playerState;
export let isAudioStatePaused;
let totalTrack = files.length;
+async function repeatCheck(bot) {
+ if (repeat) {
+ console.log('All beats in the playlist has finished, repeating beats...');
+ totalTrack = files.length;
+ return (shuffle) ? await shufflePlaylist(bot) : await orderPlaylist(bot);
+ } else {
+ console.log('All beats in the playlist has finished.');
+ updatePlaylist('stop');
+ audioState(2);
+ }
+}
+
export async function nextAudio(bot) {
totalTrack--;
if (currentTrack >= totalTrack) {
- console.log('All beats in the playlist has finished, repeating beats...');
- totalTrack = files.length;
- return (shuffle === true) ? await shufflePlaylist(bot) : await orderPlaylist(bot);
+ await repeatCheck(bot);
} else {
updatePlaylist('next');
return await playAudio(bot);
diff --git a/backend/PlayAudio.js b/backend/PlayAudio.js
index 3ae2b91..d698798 100644
--- a/backend/PlayAudio.js
+++ b/backend/PlayAudio.js
@@ -77,7 +77,7 @@ export async function playAudio(bot) {
}
const statusEmbed = new EmbedBuilder();
- if (metadataEmpty === true) {
+ if (metadataEmpty) {
statusEmbed.setTitle('Now Playing');
statusEmbed.addFields(
{ name: 'Title', value: audio },
diff --git a/backend/VoiceInitialization.js b/backend/VoiceInitialization.js
index d95bfa6..a9e1149 100644
--- a/backend/VoiceInitialization.js
+++ b/backend/VoiceInitialization.js
@@ -39,7 +39,7 @@ export async function voiceInit(bot) {
connection.on(VoiceConnectionStatus.Ready, async() => {
console.log('Ready to blast some beats!');
- return (shuffle === true) ? await shufflePlaylist(bot) : await orderPlaylist(bot);
+ return (shuffle) ? await shufflePlaylist(bot) : await orderPlaylist(bot);
});
connection.on(VoiceConnectionStatus.Destroyed, () => {