summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--client.js21
-rw-r--r--src/opcodes/Identify.ts9
-rw-r--r--tsconfig.json4
3 files changed, 20 insertions, 14 deletions
diff --git a/client.js b/client.js

index 57b747a6..34a59458 100644 --- a/client.js +++ b/client.js
@@ -2,7 +2,8 @@ require("missing-native-js-functions"); const WebSocket = require("ws"); const Constants = require("./dist/util/Constants"); -const ws = new WebSocket("ws://127.0.0.1:8080"); +// const ws = new WebSocket("ws://127.0.0.1:8080"); +const ws = new WebSocket("wss://gateway.discord.gg"); ws.on("open", () => { // ws.send(JSON.stringify({ req_type: "new_auth" })); @@ -27,14 +28,18 @@ ws.on("message", (buffer) => { send({ op: 1 }); }, data.d.heartbeat_interval); + // send({ + // op: 2, + // d: { + // token: + // "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgxMTY0MjkxNzQzMjA2NjA0OCIsImlhdCI6MTYxMzU4MTE1MX0.7Qj_z2lYIgJ0rc7NfGtpW5DKGqecQfv1mLpoBUQHKDc", + // intents: 0n, + // properties: {}, + // }, + // }); + send({ - op: 2, - d: { - token: - "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgxMTY0MjkxNzQzMjA2NjA0OCIsImlhdCI6MTYxMzU4MTE1MX0.7Qj_z2lYIgJ0rc7NfGtpW5DKGqecQfv1mLpoBUQHKDc", - intents: 0n, - properties: {}, - }, + op: 6, }); break; diff --git a/src/opcodes/Identify.ts b/src/opcodes/Identify.ts
index 61238e62..76e3b6aa 100644 --- a/src/opcodes/Identify.ts +++ b/src/opcodes/Identify.ts
@@ -9,6 +9,7 @@ import { MemberModel, ReadyEventData, UserModel, + toObject, } from "fosscord-server-util"; import { setupListener } from "../listener/listener"; import { instanceOf } from "lambert-server"; @@ -31,13 +32,14 @@ export async function onIdentify(this: WebSocket, data: Payload) { try { var decoded = await checkToken(identify.token); // will throw an error if invalid } catch (error) { + console.error("invalid token", error); return this.close(CLOSECODES.Authentication_failed); } this.user_id = decoded.id; - if (!identify.intents) identify.intents = BigInt("11111111111111"); + if (!identify.intents) identify.intents = 0b11111111111111n; this.intents = new Intents(identify.intents); - const members = await MemberModel.find({ id: this.user_id }).lean().exec(); + const members = toObject(await MemberModel.find({ id: this.user_id }).exec()); const merged_members = members.map((x: any) => { const y = { ...x, user_id: x.id }; delete y.settings; @@ -64,7 +66,6 @@ export async function onIdentify(this: WebSocket, data: Payload) { .populate("roles") .populate("emojis") .populate({ path: "joined_at", match: { id: this.user_id } }) - .lean() .exec(); const privateUser = { @@ -91,7 +92,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { user: privateUser, user_settings: user.user_settings, // @ts-ignore - guilds: guilds.map((x) => { + guilds: toObject(guilds).map((x) => { // @ts-ignore x.guild_hashes = { channels: { omitted: false, hash: "y4PV2fZ0gmo" }, diff --git a/tsconfig.json b/tsconfig.json
index 1d9c6abf..279cbbf1 100644 --- a/tsconfig.json +++ b/tsconfig.json
@@ -6,9 +6,9 @@ /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ - "target": "ES6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": ["ES2015", "DOM"] /* Specify library files to be included in the compilation. */, + "lib": ["ES2015", "ES2020.BigInt", "DOM"] /* Specify library files to be included in the compilation. */, "allowJs": true /* Allow javascript files to be compiled. */, "checkJs": true /* Report errors in .js files. */, // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */