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'. */
|