diff --git a/bot/commands/user_commands.py b/bot/commands/user_commands.py index 0413c20..e34e692 100644 --- a/bot/commands/user_commands.py +++ b/bot/commands/user_commands.py @@ -605,39 +605,38 @@ class QueueCommand(Command): # Kalau URL, langsung stream tracks = self.module_manager.streamer.get(arg, user.is_admin if user is not None else True) self.player.add_to_queue(tracks) - - # Kalau gak lagi main apa-apa, langsung play - if not self.player.is_playing(): - self.player.play_next() - - if self.config.general.send_channel_messages: - self.run_async( - self.ttclient.send_message, - self.translator.translate( - "{nickname} added a stream URL to the queue." - ).format(nickname=user.nickname), - type=2, - ) - return self.translator.translate("Added stream URL to the queue.") else: # Kalau bukan URL, cari lagu dari service - track_list = self.service_manager.service.search(arg) - self.player.add_to_queue(track_list) + tracks = self.service_manager.service.search(arg) + self.player.add_to_queue(tracks) - if not self.player.is_playing(): - self.player.play_next() + # Kalau gak lagi main apa-apa, langsung play + if self.player.state != State.Playing: + self.player.play_next() - if self.config.general.send_channel_messages: - self.run_async( - self.ttclient.send_message, - self.translator.translate( - "{nickname} added {request} to the queue." - ).format(nickname=user.nickname, request=arg), - type=2, - ) - return self.translator.translate("Added {} to the queue.").format( - track_list[0].name + if self.config.general.send_channel_messages: + if re.match(r'http[s]?://', arg): + message = self.translator.translate( + "{nickname} added a stream URL to the queue." + ).format(nickname=user.nickname) + else: + message = self.translator.translate( + "{nickname} added {request} to the queue." + ).format(nickname=user.nickname, request=arg) + + self.run_async( + self.ttclient.send_message, + message, + type=2, ) + + if re.match(r'http[s]?://', arg): + return self.translator.translate("Added stream URL to the queue.") + else: + return self.translator.translate("Added {} to the queue.").format( + tracks[0].name + ) + except errors.NothingFoundError: return self.translator.translate("Nothing is found for your query") except errors.ServiceError: