From ca9f811e8f073c26b7a16cdea6a248c548ae2988 Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Sat, 25 Jan 2025 18:44:01 -0500 Subject: [PATCH] fix(commands/voice/sponsorblock): use youtubedl duration and make sponsorblock default --- commands/voice/playback.py | 26 +++++++++++--------------- commands/voice/sponsorblock.py | 3 ++- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/commands/voice/playback.py b/commands/voice/playback.py index 8681176..7840f17 100644 --- a/commands/voice/playback.py +++ b/commands/voice/playback.py @@ -1,11 +1,11 @@ -import disnake_paginator - import arguments +import disnake_paginator +from constants import EMBED_COLOR +from state import players + import commands import sponsorblock import utils -from constants import EMBED_COLOR -from state import players from .utils import command_allowed @@ -89,19 +89,15 @@ async def pause(message): async def fast_forward(message): tokens = commands.tokenize(message.content) - parser = arguments.ArgumentParser(tokens[0], "fast forward audio playback") - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument( + parser = arguments.ArgumentParser( + tokens[0], "skip current sponsorblock segment" + ) + parser.add_argument( "-s", "--seconds", + nargs="?", type=lambda v: arguments.range_type(v, min=0, max=300), - help="the amount of seconds to fast forward", - ) - group.add_argument( - "-S", - "--sponsorblock", - action="store_true", - help="go to the end of the current sponsorblock segment", + help="the amount of seconds to fast forward instead", ) if not (args := await parser.parse_args(message, tokens)): return @@ -114,7 +110,7 @@ async def fast_forward(message): return seconds = args.seconds - if args.sponsorblock: + if not seconds: video = await sponsorblock.get_segments( players[message.guild.id].current.player.id ) diff --git a/commands/voice/sponsorblock.py b/commands/voice/sponsorblock.py index 1330ffb..3589296 100644 --- a/commands/voice/sponsorblock.py +++ b/commands/voice/sponsorblock.py @@ -2,6 +2,7 @@ import disnake import sponsorblock import utils +import youtubedl from constants import EMBED_COLOR from state import players @@ -31,7 +32,7 @@ async def sponsorblock_command(message): current = "**" if progress >= begin and progress < end else "" text.append( - f"{current}`{utils.format_duration(begin, short=True)}` - `{utils.format_duration(end, short=True)}`: {category_name if category_name else 'Unknown'}{current}" + f"{current}`{youtubedl.format_duration(begin)}` - `{youtubedl.format_duration(end)}`: {category_name if category_name else 'Unknown'}{current}" ) await utils.reply(