diff --git a/src/onebot11/action/user/GetCookie.ts b/src/onebot11/action/user/GetCookie.ts index 63598ad..f192408 100644 --- a/src/onebot11/action/user/GetCookie.ts +++ b/src/onebot11/action/user/GetCookie.ts @@ -1,17 +1,25 @@ -import BaseAction from '../BaseAction' -import { NTQQUserApi } from '../../../ntqqapi/api' -import { groups } from '../../../common/data' -import { ActionName } from '../types' - -interface Payload { - domain: string -} - -export class GetCookies extends BaseAction { - actionName = ActionName.GetCookies - - protected async _handle(payload: Payload) { - const domain = payload.domain || 'qun.qq.com' - return NTQQUserApi.getCookies(domain); - } -} +import BaseAction from '../BaseAction' +import { NTQQUserApi, WebApi } from '../../../ntqqapi/api' +import { groups, selfInfo } from '../../../common/data' +import { ActionName } from '../types' + +interface Payload { + domain: string +} + +export class GetCookies extends BaseAction { + actionName = ActionName.GetCookies + + protected async _handle(payload: Payload) { + const domain = payload.domain || 'qun.qq.com' + if (domain.endsWith("qzone.qq.com")) { + const _Skey = await NTQQUserApi.getSkey() as string; + // 兼容整个 *.qzone.qq.com + let data = (await NTQQUserApi.getQzoneCookies()); + const Bkn = WebApi.genBkn(data.p_skey); + const CookieValue = 'p_skey=' + data.p_skey + '; skey=' + data.skey + '; p_uin=o' + selfInfo.uin + '; uin=o' + selfInfo.uin; + return { bkn: WebApi.genBkn(data.p_skey), cookies: CookieValue }; + } + return NTQQUserApi.getCookies(domain); + } +}