#![allow(missing_docs)]
use clap::Subcommand;
#[derive(Debug, Subcommand, Clone)]
pub enum BilibiliCommand {
#[command(name = "video-info")]
VideoInfo { bvid: String },
#[command(name = "video-stream")]
VideoStream {
aid: u64,
#[arg(long)]
cid: u64,
},
#[command(name = "video-danmaku")]
VideoDanmaku {
cid: u64,
#[arg(long)]
segment_index: Option<u32>,
},
#[command(name = "comments")]
Comments {
oid: u64,
#[arg(long = "type")]
comment_type: u32,
#[arg(long)]
number: Option<u32>,
#[arg(long)]
mode: Option<u32>,
},
#[command(name = "comment-replies")]
CommentReplies {
oid: u64,
root: u64,
#[arg(long = "type")]
comment_type: u32,
#[arg(long)]
number: Option<u32>,
},
#[command(name = "user-card")]
UserCard { host_mid: u64 },
#[command(name = "user-dynamic-list")]
UserDynamicList { host_mid: u64 },
#[command(name = "user-space-info")]
UserSpaceInfo { host_mid: u64 },
#[command(name = "uploader-total-views")]
UploaderTotalViews { host_mid: u64 },
#[command(name = "dynamic-detail")]
DynamicDetail { dynamic_id: String },
#[command(name = "dynamic-card")]
DynamicCard { dynamic_id: String },
#[command(name = "bangumi-info")]
BangumiInfo { bangumi_id: String },
#[command(name = "bangumi-stream")]
BangumiStream {
ep_id: String,
#[arg(long)]
cid: u64,
},
#[command(name = "live-room-info")]
LiveRoomInfo { room_id: u64 },
#[command(name = "live-room-init")]
LiveRoomInit { room_id: u64 },
#[command(name = "login-status")]
LoginStatus,
#[command(name = "login-qrcode")]
LoginQrcode,
#[command(name = "qrcode-status")]
QrcodeStatus { qrcode_key: String },
#[command(name = "emoji-list")]
EmojiList,
#[command(name = "av-to-bv")]
AvToBv { aid: u64 },
#[command(name = "bv-to-av")]
BvToAv { bvid: String },
#[command(name = "article-content")]
ArticleContent { article_id: String },
#[command(name = "article-cards")]
ArticleCards { ids: Vec<String> },
#[command(name = "article-info")]
ArticleInfo { article_id: String },
#[command(name = "article-list-info")]
ArticleListInfo { list_id: String },
#[command(name = "captcha-from-voucher")]
CaptchaFromVoucher {
v_voucher: String,
#[arg(long)]
csrf: Option<String>,
},
#[command(name = "validate-captcha")]
ValidateCaptcha {
challenge: String,
token: String,
validate: String,
seccode: String,
#[arg(long)]
csrf: Option<String>,
},
}