diff options
| author | Max Isom <[email protected]> | 2020-03-16 20:14:15 -0500 |
|---|---|---|
| committer | Max Isom <[email protected]> | 2020-03-16 20:14:15 -0500 |
| commit | ac21b5657ba47ef9081c80424d5f8ae39b149f35 (patch) | |
| tree | 1ba121343bb3ae33b6345afc217e2c29b92c23a9 /src/events | |
| parent | 32cb3ca4ae6a419f64e413ba5c8c543593a927b1 (diff) | |
| download | muse-ac21b5657ba47ef9081c80424d5f8ae39b149f35.tar.xz muse-ac21b5657ba47ef9081c80424d5f8ae39b149f35.zip | |
Add auto disconnect
Diffstat (limited to 'src/events')
| -rw-r--r-- | src/events/voice-state-update.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/events/voice-state-update.ts b/src/events/voice-state-update.ts new file mode 100644 index 0000000..c16177d --- /dev/null +++ b/src/events/voice-state-update.ts @@ -0,0 +1,17 @@ +import {VoiceState} from 'discord.js'; +import container from '../inversify.config'; +import {TYPES} from '../types'; +import PlayerManager from '../managers/player'; +import {getSizeWithoutBots} from '../utils/channels'; + +export default (oldState: VoiceState, _: VoiceState): void => { + const playerManager = container.get<PlayerManager>(TYPES.Managers.Player); + + const player = playerManager.get(oldState.guild.id); + + if (player.voiceConnection) { + if (getSizeWithoutBots(player.voiceConnection.channel) === 0) { + player.disconnect(); + } + } +}; |
