add force argument to now playing
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
abs3nt 2023-10-14 09:47:03 -07:00
parent e39355fb69
commit 95c64ebd70
Signed by: abs3nt
GPG Key ID: FDC6662313FA9386
2 changed files with 14 additions and 2 deletions

View File

@ -13,7 +13,8 @@ var nowPlayingCmd = &cobra.Command{
Aliases: []string{"now"}, Aliases: []string{"now"},
Short: "Shows song and artist of currently playing song", Short: "Shows song and artist of currently playing song",
Long: `Shows song and artist of currently playing song, useful for scripting`, Long: `Shows song and artist of currently playing song, useful for scripting`,
Args: cobra.MatchAll(cobra.RangeArgs(0, 1)),
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
commands.NowPlaying(ctx) commands.NowPlaying(ctx, args)
}, },
} }

View File

@ -962,7 +962,18 @@ func (c *Commands) LinkContext(ctx *gctx.Context) (string, error) {
return state.PlaybackContext.ExternalURLs["spotify"], nil return state.PlaybackContext.ExternalURLs["spotify"], nil
} }
func (c *Commands) NowPlaying(ctx *gctx.Context) error { func (c *Commands) NowPlaying(ctx *gctx.Context, args []string) error {
if len(args) > 0 {
if args[0] == "force" {
current, err := c.Client().PlayerCurrentlyPlaying(ctx)
if err != nil {
return err
}
str := FormatSong(current)
fmt.Println(str)
return nil
}
}
song, err := cache.DefaultCache().GetOrDo("now_playing", func() (string, error) { song, err := cache.DefaultCache().GetOrDo("now_playing", func() (string, error) {
current, err := c.Client().PlayerCurrentlyPlaying(ctx) current, err := c.Client().PlayerCurrentlyPlaying(ctx)
if err != nil { if err != nil {