From f3a849711650dd29dadc334dfc31efb380350369 Mon Sep 17 00:00:00 2001 From: Shigma Date: Fri, 13 Oct 2023 22:32:48 +0800 Subject: [PATCH] feat(satori): support `config.token` --- adapters/satori/src/ws.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/adapters/satori/src/ws.ts b/adapters/satori/src/ws.ts index edfaa441..0edd07b7 100644 --- a/adapters/satori/src/ws.ts +++ b/adapters/satori/src/ws.ts @@ -13,9 +13,14 @@ export class SatoriAdapter extends Adapter.WsClientBase { private sequence?: number private timeout?: NodeJS.Timeout - constructor(public ctx: Context, config: SatoriAdapter.Config) { + constructor(public ctx: Context, public config: SatoriAdapter.Config) { super(ctx, config) - this.http = ctx.http.extend(config) + this.http = ctx.http.extend({ + endpoint: config.endpoint, + headers: { + 'Authorization': `Bearer ${config.token}`, + }, + }) ctx.on('ready', () => this.start()) ctx.on('dispose', () => this.stop()) } @@ -56,6 +61,7 @@ export class SatoriAdapter extends Adapter.WsClientBase { this.socket.send(JSON.stringify({ op: Universal.Opcode.IDENTIFY, body: { + token: this.config.token, sequence: this.sequence, }, })) @@ -111,11 +117,13 @@ export class SatoriAdapter extends Adapter.WsClientBase { export namespace SatoriAdapter { export interface Config extends Adapter.WsClientConfig { endpoint: string + token?: string } export const Config: Schema = Schema.intersect([ Schema.object({ endpoint: Schema.string().description('API 终结点。').required(), + token: Schema.string().description('API 访问令牌。'), }), Adapter.WsClientConfig, ] as const)