diff --git a/src/events/Message.ts b/src/events/Message.ts
index 2c3305cb..51c5a294 100644
--- a/src/events/Message.ts
+++ b/src/events/Message.ts
@@ -21,6 +21,7 @@ export async function Message(this: WebSocket, buffer: Data) {
if (this.encoding === "etf" && buffer instanceof Buffer) data = erlpack.unpack(buffer);
else if (this.encoding === "json" && typeof buffer === "string") data = JSON.parse(buffer);
+ else return;
check.call(this, PayloadSchema, data);
diff --git a/src/listener/listener.ts b/src/listener/listener.ts
index 8183f70c..b8ee84fd 100644
--- a/src/listener/listener.ts
+++ b/src/listener/listener.ts
@@ -19,7 +19,7 @@ export interface DispatchOpts {
function getPipeline(this: WebSocket, guilds: string[], channels: string[] = []) {
if (this.shard_count) {
- guilds = guilds.filter((x) => (BigInt(x) >> 22n) % this.shard_count === this.shard_id);
+ guilds = guilds.filter((x) => (BigInt(x) >> 22n) % this.shard_count! === this.shard_id);
}
return [
@@ -37,7 +37,7 @@ function getPipeline(this: WebSocket, guilds: string[], channels: string[] = [])
export async function setupListener(this: WebSocket) {
const user = await UserModel.findOne({ id: this.user_id }).lean().exec();
- var guilds = user.guilds;
+ var guilds = user!.guilds;
const eventStream = new MongooseCache(db.collection("events"), getPipeline.call(this, guilds), {
onlyEvents: true,
@@ -60,7 +60,7 @@ export async function dispatch(this: WebSocket, document: Event, { eventStream,
guilds.push(document.data.id);
eventStream.changeStream(getPipeline.call(this, guilds));
} else if (document.event === "GUILD_DELETE") {
- guilds.remove(document.guild_id);
+ guilds.remove(document.guild_id!);
eventStream.changeStream(getPipeline.call(this, guilds));
} else if (document.event === "CHANNEL_DELETE") channel_id = null;
if (document.guild_id && !this.intents.has("GUILDS")) return;
diff --git a/src/util/Send.ts b/src/util/Send.ts
index 09e947a5..be25ac4f 100644
--- a/src/util/Send.ts
+++ b/src/util/Send.ts
@@ -11,7 +11,7 @@ export async function Send(socket: WebSocket, data: Payload) {
if (socket.encoding === "etf") buffer = erlpack.pack(data);
// TODO: encode circular object
else if (socket.encoding === "json") buffer = JSON.stringify(data);
-
+ else return;
// TODO: compression
if (socket.deflate) {
socket.deflate.write(buffer);
diff --git a/tsconfig.json b/tsconfig.json
index 279cbbf1..fd2c21ea 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -29,7 +29,7 @@
/* Strict Type-Checking Options */
"strict": false /* Enable all strict type-checking options. */,
"noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
- // "strictNullChecks": true, /* Enable strict null checks. */
+ "strictNullChecks": true, /* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
"strictPropertyInitialization": false /* Enable strict checking of property initialization in classes. */,
|