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: :construction: db listener --- src/listener/listener.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/listener/listener.ts (limited to 'src/listener') 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(); + }); +} -- cgit 1.5.1