From 661db8a92d1d755460b52db569f2e36efaf2ee39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jason=20=5B=EC=A0=9C=EC=9D=B4=EC=8A=A8=20=EC=A0=9C?= =?UTF-8?q?=EB=A1=AC=5D?= <20238115+DuckBoss@users.noreply.github.com> Date: Tue, 9 Jun 2020 02:42:23 -0400 Subject: [PATCH] Added !sbplaying command to sound_board plugin - Added the !sbplaying command to the sound_board plugin so users can now see what the currently playing sound_board track is. --- .../plugins/extensions/sound_board/help.html | 1 + .../plugins/extensions/sound_board/metadata.ini | 1 + .../plugins/extensions/sound_board/privileges.csv | 1 + .../plugins/extensions/sound_board/sound_board.py | 14 +++++++++++++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/JJMumbleBot/plugins/extensions/sound_board/help.html b/JJMumbleBot/plugins/extensions/sound_board/help.html index b1faabab..f522a011 100644 --- a/JJMumbleBot/plugins/extensions/sound_board/help.html +++ b/JJMumbleBot/plugins/extensions/sound_board/help.html @@ -4,6 +4,7 @@ !sbvolume '0..1': Sets the sound board audio volume.
!sblist/!sbl: Displays all the available sound board tracks in private messages.
!sblist_echo/!sble: Displays all the available sound board tracks in the channel chat.
+!sbplaying: Displays the current sound board track and the duration of the clip.
!sbstop/!sbs: Stops the currently playing sound board track.
!sbdownload 'youtube_url' 'file_name': Downloads a sound clip from a youtube link and adds it to the sound board.
!sbdelete 'file_name.wav': Deletes a clip from the sound board storage. Be sure to specify the .wav extension. diff --git a/JJMumbleBot/plugins/extensions/sound_board/metadata.ini b/JJMumbleBot/plugins/extensions/sound_board/metadata.ini index 63f82160..997c0f16 100644 --- a/JJMumbleBot/plugins/extensions/sound_board/metadata.ini +++ b/JJMumbleBot/plugins/extensions/sound_board/metadata.ini @@ -8,6 +8,7 @@ PluginCommands: [ "sbvolume", "sblist", "sblist_echo", + "sbplaying", "sbstop", "sbdownload", "sbdelete", diff --git a/JJMumbleBot/plugins/extensions/sound_board/privileges.csv b/JJMumbleBot/plugins/extensions/sound_board/privileges.csv index 8c5d34e7..23f72ec7 100644 --- a/JJMumbleBot/plugins/extensions/sound_board/privileges.csv +++ b/JJMumbleBot/plugins/extensions/sound_board/privileges.csv @@ -4,6 +4,7 @@ sbvolume,3 sbrandom,3 sblist,2 sblist_echo,3 +sbplaying,2 sbstop,2 sbdownload,3 sbdelete,3 diff --git a/JJMumbleBot/plugins/extensions/sound_board/sound_board.py b/JJMumbleBot/plugins/extensions/sound_board/sound_board.py index 7524c8d7..6fd97727 100644 --- a/JJMumbleBot/plugins/extensions/sound_board/sound_board.py +++ b/JJMumbleBot/plugins/extensions/sound_board/sound_board.py @@ -8,10 +8,11 @@ from JJMumbleBot.plugins.extensions.sound_board.resources.strings import * from JJMumbleBot.plugins.extensions.sound_board.utility import sound_board_utility as sbu from JJMumbleBot.plugins.extensions.sound_board.utility import settings as sbu_settings +from JJMumbleBot.lib.utils.runtime_utils import get_bot_name from JJMumbleBot.lib.utils import dir_utils import os import random -from datetime import datetime +from datetime import datetime, timedelta from bs4 import BeautifulSoup @@ -158,6 +159,17 @@ def process(self, text): GS.gui_service.quick_gui(f"Deleted sound clip : {all_messages[1].strip()}", text_type='header', box_align='left') + elif command == "sbplaying": + if not privileges.plugin_privilege_checker(text, command, self.plugin_name): + return + if GS.audio_dni[1] == self.metadata[C_PLUGIN_INFO][P_PLUGIN_NAME] and GS.audio_dni[0] is True: + track_duration = sbu.get_audio_length(sbu_settings.current_track) + rprint(f'{get_bot_name()}({self.plugin_name}) is playing: {sbu_settings.current_track} (duration: {str(timedelta(seconds = round(track_duration))) if track_duration > 0 else "Unavailable"})', origin=L_COMMAND) + GS.gui_service.quick_gui( + f'{get_bot_name()}({self.plugin_name}) is playing: {sbu_settings.current_track} (duration: {str(timedelta(seconds = round(track_duration))) if track_duration > 0 else "Unavailable"})', + text_type='header', + box_align='left') + elif command == "sbrandom": if not privileges.plugin_privilege_checker(text, command, self.plugin_name): return