O-Bot/cmd/util/RadioPlayer.js

33 lines
1.1 KiB
JavaScript

const { createAudioResource, createAudioPlayer, NoSubscriberBehavior } = require('@discordjs/voice');
class RadioPlayer {
static audioPlayer = null;
static async getAudioPlayer(url) {
if(this.audioPlayer == null) {
let data = await fetch(url, {
headers: {
'User-Agent': 'O-Bot'
}}
);
if(data.status == 200) {
console.log('Creating audio resource');
var fileStream = data.body;
var res = createAudioResource(fileStream, {inlineVolume: true});
//res.volume.setVolume(2);
this.audioPlayer = createAudioPlayer({
behaviors: {noSubscriber: NoSubscriberBehavior.Play},
});
this.audioPlayer.play(res);
return this.audioPlayer;
}
else {
throw Error('Radio is down!');
}
}
else {
return this.audioPlayer;
}
}
}
module.exports = RadioPlayer;