Skip to content

Commit fa97d15

Browse files
airline233Copilot
andauthored
Fix: /get_cookies under the QZone domain returned bkn unexpectedly (#1762)
* Fix: QZone's g_tk(bkn) Signed-off-by: Airline233 <airline233@gmail.com> * Add getBknFromPSKey method to webapi Signed-off-by: Airline233 <airline233@gmail.com> * Fix variable declaration for BKN in GetCookies a stupid error... Signed-off-by: Airline233 <airline233@gmail.com> * Fix typo in method name for BKN retrieval Signed-off-by: Airline233 <airline233@gmail.com> * Fix getBknFromPSKey function call syntax Signed-off-by: Airline233 <airline233@gmail.com> * Update packages/napcat-core/apis/webapi.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Airline233 <airline233@gmail.com> * Update packages/napcat-onebot/action/user/GetCookies.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Airline233 <airline233@gmail.com> --------- Signed-off-by: Airline233 <airline233@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 285632f commit fa97d15

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

packages/napcat-core/apis/webapi.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,10 @@ export class NTQQWebApi {
328328
return (hash & 0x7FFFFFFF).toString();
329329
}
330330

331+
public getBknFromPSKey (psKey: string) {
332+
return this.getBknFromSKey(psKey);
333+
}
334+
331335
async getAlbumListByNTQQ (gc: string, attach_info: string = '') {
332336
return await this.context.session.getAlbumService().getAlbumList({
333337
qun_id: gc,

packages/napcat-onebot/action/user/GetCookies.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,16 @@ export class GetCookies extends OneBotAction<GetCookiesPayload, GetCookiesRespon
3535
const cookiesObject = await this.core.apis.UserApi.getCookies(payload.domain);
3636
// 把获取到的cookiesObject转换成 k=v; 格式字符串拼接在一起
3737
const cookies = Object.entries(cookiesObject).map(([key, value]) => `${key}=${value}`).join('; ');
38-
const bkn = cookiesObject?.['skey'] ? this.core.apis.WebApi.getBknFromCookie(cookiesObject) : '';
38+
let bkn = '';
39+
if (payload.domain.includes('qzone.qq.com')) {
40+
if (cookiesObject?.['p_skey']) {
41+
bkn = this.core.apis.WebApi.getBknFromPSKey(cookiesObject['p_skey']);
42+
} else {
43+
bkn = cookiesObject?.['skey'] ? this.core.apis.WebApi.getBknFromCookie(cookiesObject) : '';
44+
}
45+
} else {
46+
bkn = cookiesObject?.['skey'] ? this.core.apis.WebApi.getBknFromCookie(cookiesObject) : '';
47+
}
3948
return { cookies, bkn };
4049
}
4150
}

0 commit comments

Comments
 (0)