aboutsummaryrefslogtreecommitdiff
path: root/src/commands
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-03-16 20:14:15 -0500
committerMax Isom <[email protected]>2020-03-16 20:14:15 -0500
commitac21b5657ba47ef9081c80424d5f8ae39b149f35 (patch)
tree1ba121343bb3ae33b6345afc217e2c29b92c23a9 /src/commands
parent32cb3ca4ae6a419f64e413ba5c8c543593a927b1 (diff)
downloadmuse-ac21b5657ba47ef9081c80424d5f8ae39b149f35.tar.xz
muse-ac21b5657ba47ef9081c80424d5f8ae39b149f35.zip
Add auto disconnect
Diffstat (limited to 'src/commands')
-rw-r--r--src/commands/play.ts15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/commands/play.ts b/src/commands/play.ts
index b354e5a..4ba04bd 100644
--- a/src/commands/play.ts
+++ b/src/commands/play.ts
@@ -36,6 +36,13 @@ export default class implements Command {
}
public async execute(msg: Message, args: string []): Promise<void> {
+ const [targetVoiceChannel, nInChannel] = getMostPopularVoiceChannel(msg.guild!);
+
+ if (nInChannel === 0) {
+ await msg.channel.send('error: all voice channels are empty');
+ return;
+ }
+
const queue = this.queueManager.get(msg.guild!.id);
if (args.length === 0) {
@@ -50,9 +57,7 @@ export default class implements Command {
return;
}
- const channel = getMostPopularVoiceChannel(msg.guild!);
-
- await this.playerManager.get(msg.guild!.id).connect(channel);
+ await this.playerManager.get(msg.guild!.id).connect(targetVoiceChannel);
await this.playerManager.get(msg.guild!.id).play();
await msg.channel.send('play resuming');
@@ -252,9 +257,7 @@ export default class implements Command {
await res.stop('song(s) queued');
if (this.playerManager.get(msg.guild!.id).status === STATUS.DISCONNECTED) {
- const channel = getMostPopularVoiceChannel(msg.guild!);
-
- await this.playerManager.get(msg.guild!.id).connect(channel);
+ await this.playerManager.get(msg.guild!.id).connect(targetVoiceChannel);
await this.playerManager.get(msg.guild!.id).play();
}