summary refs log tree commit diff
path: root/main.ts
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2025-01-24 12:21:13 +0200
committerWlodekM <[email protected]>2025-01-24 12:21:13 +0200
commitc4320bf10d2ee15510826eafd5d776a9e2b5137e (patch)
tree74c69c88d292fb46adf03d518085a46c972883db /main.ts
parent8358d211ae3d6559956b6727bd35666429059f81 (diff)
add fetch message function
Diffstat (limited to 'main.ts')
-rw-r--r--main.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/main.ts b/main.ts
index 6a485e0..418b3bf 100644
--- a/main.ts
+++ b/main.ts
@@ -48,6 +48,8 @@ export default class MAELINK extends EventEmitter {
         const client = this;
         this._ws.addEventListener('message', function (ev) {
             const data = JSON.parse(ev.data);
+            client.emit('message', data)
+            client.emit('cmd_'+data.cmd, data)
             switch (data.cmd) {
                 case 'post_home':
                     client.emit('post', data.post)
@@ -79,4 +81,17 @@ export default class MAELINK extends EventEmitter {
             reply_to: typeof message == 'object' ? message.replyTo : undefined
         }));
     }
+
+    fetchMessages(offset: number = 0) {
+        return new Promise((resolve, reject) => {
+            this._ws.send(JSON.stringify({
+                cmd: "fetch",
+                offset: offset
+            }))
+            this.once('cmd_fetch', (resp) => {
+                if (resp.status !== 'success') return reject();
+                resolve(resp.posts)
+            })
+        })
+    }
 }