Add .livestream stop command
This commit is contained in:
parent
fd0aa70556
commit
d8951ebdd7
|
@ -2,10 +2,22 @@ const { DiscordStreamClient } = require('discord-stream-client');
|
|||
|
||||
module.exports = {
|
||||
name: 'livestream',
|
||||
description: 'Starts a live stream in a voice channel with a provided video link.',
|
||||
description: 'Starts or stops a live stream in a voice channel with a provided video link.',
|
||||
async execute(message, args, deleteTimeout) {
|
||||
if (args[0] === 'stop') {
|
||||
const voiceState = message.guild.me.voice;
|
||||
if (voiceState.channel) {
|
||||
voiceState.disconnect();
|
||||
return message.channel.send('Livestream stopped.')
|
||||
.then(msg => setTimeout(() => msg.delete().catch(console.error), deleteTimeout));
|
||||
} else {
|
||||
return message.channel.send('No active livestream to stop.')
|
||||
.then(msg => setTimeout(() => msg.delete().catch(console.error), deleteTimeout));
|
||||
}
|
||||
}
|
||||
|
||||
if (args.length < 2) {
|
||||
return message.channel.send('Usage: .livestream <channelId> <videoLink>')
|
||||
return message.channel.send('Usage: .livestream <channelId> <videoLink> | .livestream stop')
|
||||
.then(msg => setTimeout(() => msg.delete().catch(console.error), deleteTimeout));
|
||||
}
|
||||
|
||||
|
@ -19,6 +31,10 @@ module.exports = {
|
|||
}
|
||||
|
||||
try {
|
||||
if (message.client.currentPlayer) {
|
||||
message.client.currentPlayer.stop();
|
||||
}
|
||||
|
||||
const connection = await message.client.streamClient.joinVoiceChannel(channel, {
|
||||
selfDeaf: true,
|
||||
selfMute: true,
|
||||
|
@ -27,9 +43,20 @@ module.exports = {
|
|||
|
||||
const stream = await connection.createStream();
|
||||
const player = message.client.streamClient.createPlayer(videoLink, stream.udp);
|
||||
message.client.currentPlayer = player;
|
||||
|
||||
player.on('error', err => console.error(err));
|
||||
|
||||
player.on('end', () => {
|
||||
player.play({
|
||||
kbpsVideo: 7000,
|
||||
fps: 60,
|
||||
hwaccel: true,
|
||||
kbpsAudio: 128,
|
||||
volume: 1,
|
||||
});
|
||||
});
|
||||
|
||||
player.play({
|
||||
kbpsVideo: 7000,
|
||||
fps: 60,
|
||||
|
|
Loading…
Reference in New Issue