Lib name change
This commit is contained in:
		
							parent
							
								
									8ff3ef9f71
								
							
						
					
					
						commit
						41656e2bfe
					
				
					 1 changed files with 33 additions and 31 deletions
				
			
		|  | @ -12,8 +12,8 @@ import { | |||
| } from '../types/gateway.ts' | ||||
| import { gatewayHandlers } from './handlers/index.ts' | ||||
| import { GATEWAY_BOT } from '../types/endpoint.ts' | ||||
| import { GatewayCache } from "../managers/gatewayCache.ts" | ||||
| import { ClientActivityPayload } from "../structures/presence.ts" | ||||
| import { GatewayCache } from '../managers/gatewayCache.ts' | ||||
| import { ClientActivityPayload } from '../structures/presence.ts' | ||||
| 
 | ||||
| /** | ||||
|  * Handles Discord gateway connection. | ||||
|  | @ -36,7 +36,7 @@ class Gateway { | |||
|   client: Client | ||||
|   cache: GatewayCache | ||||
| 
 | ||||
|   constructor(client: Client, token: string, intents: GatewayIntents[]) { | ||||
|   constructor (client: Client, token: string, intents: GatewayIntents[]) { | ||||
|     this.token = token | ||||
|     this.intents = intents | ||||
|     this.client = client | ||||
|  | @ -53,12 +53,12 @@ class Gateway { | |||
|     this.websocket.onerror = this.onerror.bind(this) | ||||
|   } | ||||
| 
 | ||||
|   private onopen(): void { | ||||
|   private onopen (): void { | ||||
|     this.connected = true | ||||
|     this.debug('Connected to Gateway!') | ||||
|   } | ||||
| 
 | ||||
|   private async onmessage(event: MessageEvent): Promise<void> { | ||||
|   private async onmessage (event: MessageEvent): Promise<void> { | ||||
|     let data = event.data | ||||
|     if (data instanceof ArrayBuffer) { | ||||
|       data = new Uint8Array(data) | ||||
|  | @ -140,7 +140,7 @@ class Gateway { | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private onclose(event: CloseEvent): void { | ||||
|   private onclose (event: CloseEvent): void { | ||||
|     this.debug(`Connection Closed with code: ${event.code}`) | ||||
| 
 | ||||
|     if (event.code === GatewayCloseCodes.UNKNOWN_ERROR) { | ||||
|  | @ -184,12 +184,12 @@ class Gateway { | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private onerror(event: Event | ErrorEvent): void { | ||||
|   private onerror (event: Event | ErrorEvent): void { | ||||
|     const eventError = event as ErrorEvent | ||||
|     console.log(eventError) | ||||
|   } | ||||
| 
 | ||||
|   private async sendIdentify(forceNewSession?: boolean): Promise<void> { | ||||
|   private async sendIdentify (forceNewSession?: boolean): Promise<void> { | ||||
|     if (this.client.bot === true) { | ||||
|       this.debug('Fetching /gateway/bot...') | ||||
|       const info = await this.client.rest.get(GATEWAY_BOT()) | ||||
|  | @ -219,8 +219,8 @@ class Gateway { | |||
|         token: this.token, | ||||
|         properties: { | ||||
|           $os: Deno.build.os, | ||||
|           $browser: 'discord.deno', // TODO: Change lib name
 | ||||
|           $device: 'discord.deno' | ||||
|           $browser: 'harmony', // TODO: Change lib name
 | ||||
|           $device: 'harmony' | ||||
|         }, | ||||
|         compress: true, | ||||
|         shard: [0, 1], // TODO: Make sharding possible
 | ||||
|  | @ -234,23 +234,23 @@ class Gateway { | |||
| 
 | ||||
|     if (this.client.bot === false) { | ||||
|       // TODO: Complete Selfbot support
 | ||||
|       this.debug("Modify Identify Payload for Self-bot..") | ||||
|       this.debug('Modify Identify Payload for Self-bot..') | ||||
|       // delete payload.d['intents']
 | ||||
|       // payload.d.intents = Intents.None
 | ||||
|       payload.d.presence = null | ||||
|       payload.d.properties = { | ||||
|         $os: "Windows", | ||||
|         $browser: "Firefox", | ||||
|         $device: "" | ||||
|         $os: 'Windows', | ||||
|         $browser: 'Firefox', | ||||
|         $device: '' | ||||
|       } | ||||
| 
 | ||||
|       this.debug("Warn: Support for selfbots is incomplete") | ||||
|       this.debug('Warn: Support for selfbots is incomplete') | ||||
|     } | ||||
| 
 | ||||
|     this.send(payload) | ||||
|   } | ||||
| 
 | ||||
|   private async sendResume(): Promise<void> { | ||||
|   private async sendResume (): Promise<void> { | ||||
|     this.debug(`Preparing to resume with Session: ${this.sessionID}`) | ||||
|     if (this.sequenceID === undefined) { | ||||
|       const cached = await this.cache.get('seq') | ||||
|  | @ -268,11 +268,11 @@ class Gateway { | |||
|     this.send(resumePayload) | ||||
|   } | ||||
| 
 | ||||
|   debug(msg: string): void { | ||||
|   debug (msg: string): void { | ||||
|     this.client.debug('Gateway', msg) | ||||
|   } | ||||
| 
 | ||||
|   async reconnect(forceNew?: boolean): Promise<void> { | ||||
|   async reconnect (forceNew?: boolean): Promise<void> { | ||||
|     clearInterval(this.heartbeatIntervalID) | ||||
|     if (forceNew === undefined || !forceNew) | ||||
|       await this.cache.delete('session_id') | ||||
|  | @ -280,7 +280,7 @@ class Gateway { | |||
|     this.initWebsocket() | ||||
|   } | ||||
| 
 | ||||
|   initWebsocket(): void { | ||||
|   initWebsocket (): void { | ||||
|     this.websocket = new WebSocket( | ||||
|       // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
 | ||||
|       `${DISCORD_GATEWAY_URL}/?v=${DISCORD_API_VERSION}&encoding=json`, | ||||
|  | @ -293,39 +293,41 @@ class Gateway { | |||
|     this.websocket.onerror = this.onerror.bind(this) | ||||
|   } | ||||
| 
 | ||||
|   close(): void { | ||||
|   close (): void { | ||||
|     this.websocket.close(1000) | ||||
|   } | ||||
| 
 | ||||
|   send(data: GatewayResponse): boolean { | ||||
|   send (data: GatewayResponse): boolean { | ||||
|     if (this.websocket.readyState !== this.websocket.OPEN) return false | ||||
|     this.websocket.send(JSON.stringify({ | ||||
|     this.websocket.send( | ||||
|       JSON.stringify({ | ||||
|         op: data.op, | ||||
|         d: data.d, | ||||
|       s: typeof data.s === "number" ? data.s : null, | ||||
|       t: data.t === undefined ? null : data.t, | ||||
|     })) | ||||
|         s: typeof data.s === 'number' ? data.s : null, | ||||
|         t: data.t === undefined ? null : data.t | ||||
|       }) | ||||
|     ) | ||||
|     return true | ||||
|   } | ||||
| 
 | ||||
|   sendPresence(data: ClientActivityPayload): void { | ||||
|   sendPresence (data: ClientActivityPayload): void { | ||||
|     this.send({ | ||||
|       op: GatewayOpcodes.PRESENCE_UPDATE, | ||||
|       d: data | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   sendHeartbeat(): void { | ||||
|   sendHeartbeat (): void { | ||||
|     const payload = { | ||||
|       op: GatewayOpcodes.HEARTBEAT, | ||||
|       d: this.sequenceID ?? null | ||||
|     }; | ||||
|     } | ||||
| 
 | ||||
|     this.send(payload) | ||||
|     this.lastPingTimestamp = Date.now() | ||||
|   } | ||||
| 
 | ||||
|   heartbeat(): void { | ||||
|   heartbeat (): void { | ||||
|     if (this.heartbeatServerResponded) { | ||||
|       this.heartbeatServerResponded = false | ||||
|     } else { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue