Merge branch 'master' of github.com:DiegoMagdaleno/fosscord-gateway
This commit is contained in:
commit
217b476cd2
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user