aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/bvd/main.go
blob: 3a537b421745a8670fd1a6c1b0c04ac360bf6a1c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package main

import (
	"fmt"
	"log"
	"os"

	"bvd/internal/api"
	downloader "bvd/internal/download"

	"github.com/urfave/cli/v2"
)

func main() {
	app := &cli.App{
		Name:  "bvd",
		Usage: "快速、高效、易用的下载B站视频 CLI 工具",
		Commands: []*cli.Command{
			{
				Name:  "download",
				Usage: "下载指定 BV 号的视频",
				Action: func(c *cli.Context) error {
					bvid := c.Args().First()
					if bvid == "" {
						return fmt.Errorf("请提供视频 BV 号")
					}

					biliAPI := api.NewBiliAPI()
					downloader := downloader.NewDownloader()

					return downloader.Start(bvid, biliAPI)
				},
				ArgsUsage: "<BVID> 欲下载视频的 BV 号",
			},
		},
		Version: "1.0.1",
	}

	if err := app.Run(os.Args); err != nil {
		log.Fatal(err)
	}
}