fix: logout without custom timestamp is useless

This commit is contained in:
mokurin000
2025-07-31 22:30:59 +08:00
parent 183955e655
commit 0b8de2b4bc
2 changed files with 12 additions and 1 deletions

View File

@@ -31,11 +31,14 @@ pub enum Commands {
variant: AuthLiteVariant,
},
// below are login-free
Ping,
Preview {
#[arg(short, long)]
user_id: u32,
},
// below requires login
Userdata {
#[arg(short, long)]
user_id: u32,
@@ -52,5 +55,12 @@ pub enum Commands {
Logout {
#[arg(short, long)]
user_id: u32,
/// Second-precision login unix timestamp, must be the same as on `login`
///
/// For official arcades, it's commonly the time `amdaemon.exe` starts
///
/// For unofficial clients, it depends.
#[arg(short, long)]
timestamp: u64,
},
}

View File

@@ -54,13 +54,14 @@ async fn main() -> Result<(), Box<dyn snafu::Error>> {
// TODO: refactor via enum_dispatch
match command {
commands::Commands::Logout { user_id } => {
commands::Commands::Logout { user_id, timestamp } => {
let logout: UserLogoutApiResp = Sdgb1_50::request(
&client,
APIMethod::UserLogoutApi,
user_id,
UserLogoutApi {
user_id,
date_time: timestamp,
..Default::default()
},
)