From d1e7f3a37e7abd0415698fa9717536817cc7289b Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sat, 6 Feb 2021 22:33:25 +0100 Subject: [PATCH] :construction: db listener --- package-lock.json | Bin 109013 -> 109013 bytes package.json | 2 +- src/events/Connection.ts | 7 +++++-- src/listener/listener.ts | 24 ++++++++++++++++++++++++ 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 src/listener/listener.ts diff --git a/package-lock.json b/package-lock.json index ce1ccfa3df3a524dd6e2ba22792e86575804be96..1c950900ed6c05045392ec9104ac50eb760f287d 100644 GIT binary patch delta 370 zcmcb5neFOjwhj4=jHa6l7>o7Q&5Vo;3=%C2Qp{75OpTHaOcIlljEoHol9Q55EDTbO z(kzTkQ__+qa~UQxnogd;sJD5JVVcq8JyQD9U2GU-fMSZG@}UOic}9^{kp?c70hwNv z!J$ExRRyV*`o38Jbm1XIL`Jv^;Q3k1=p^;gE+L0+H`KD2heu+_z z<>}6uA&%wlAxo7QO;XGaO^l695>w1fQ&KHWlGBom4b06_5)&=b%*>38 z5=~7~O^huja~UQxnoOR+sJD5JVVV(;DVU`{-PMLsdithdMupI#Ajhau_sC2a_o$FU zi`?`IlkCERGFL;_U=OqK(5RFG?VPeeuMEdx{bDbp495V^sB{z0q++iOqo5$;pv=$` zGgnJfgK+<$%ax2lgkX1raRa(vTWu^O { return socket.close(CLOSECODES.Session_timed_out); }, 1000 * 30); diff --git a/src/listener/listener.ts b/src/listener/listener.ts new file mode 100644 index 00000000..12abaf86 --- /dev/null +++ b/src/listener/listener.ts @@ -0,0 +1,24 @@ +import { db, User } from "discord-server-util"; +import { ProviderCache } from "lambert-db"; +import { MongodbProviderCache } from "lambert-db/dist/Mongodb"; +import WebSocket from "../util/WebSocket"; + +export async function setupListener(this: WebSocket) { + // TODO: shard guilds (only for bots) + + const user: User = await db.data.users({ id: this.userid }).get(); + + // * MongoDB specific $in query to get all guilds of the user + const guildCache: MongodbProviderCache = await db.data + .guilds({ id: { $id: user.guilds } }) + .cache({ onlyEvents: true }) + .init(); + + guildCache.on("change", (data) => { + console.log(data); + }); + + this.once("close", async () => { + await guildCache.destroy(); + }); +}