summary refs log tree commit diff
path: root/src/listener
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-02-06 22:33:25 +0100
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-02-06 22:33:25 +0100
commitd1e7f3a37e7abd0415698fa9717536817cc7289b (patch)
treec075663fa2ce0756c06091aedff2fad6a9ce9704 /src/listener
parent:sparkles: opcodes (diff)
downloadserver-d1e7f3a37e7abd0415698fa9717536817cc7289b.tar.xz
:construction: db listener
Diffstat (limited to 'src/listener')
-rw-r--r--src/listener/listener.ts24
1 files changed, 24 insertions, 0 deletions
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(); + }); +}