浏览代码

Add raw updates and events

painor 5 年之前
父节点
当前提交
4ef3971dfb
共有 3 个文件被更改,包括 7 次插入5 次删除
  1. 5 3
      gramjs/client/TelegramClient.js
  2. 1 1
      gramjs/errors/index.js
  3. 1 1
      gramjs/network/MTProtoSender.js

+ 5 - 3
gramjs/client/TelegramClient.js

@@ -364,10 +364,11 @@ class TelegramClient {
 
     // event region
     addEventHandler(callback, event) {
-        this._eventBuilders.append([event, callback])
+        this._eventBuilders.push([event, callback])
     }
 
     _handleUpdate(update) {
+        console.log('got the update')
         this.session.processEntities(update)
         this._entityCache.add(update)
 
@@ -381,7 +382,8 @@ class TelegramClient {
         } else {
             this._processUpdate(update, null)
         }
-        this._stateCache.update(update)
+        // TODO add caching
+        // this._stateCache.update(update)
     }
 
     _processUpdate(update, others, entities) {
@@ -403,7 +405,7 @@ class TelegramClient {
         ptsDate: null,
     }) {
         for (const [builder, callback] of this._eventBuilders) {
-            const event = builder.build()
+            const event = builder.build(args.update)
             await callback(event)
         }
     }

+ 1 - 1
gramjs/errors/index.js

@@ -11,7 +11,7 @@ function RPCMessageToError(rpcError, request) {
     const cls = rpcErrorsObject[rpcError.errorMessage]
     if (cls) {
         // eslint-disable-next-line new-cap
-        return new cls(request)
+        return new cls({ request: request })
     }
     for (const [msgRegex, Cls] of rpcErrorRe) {
         const m = rpcError.errorMessage.match(msgRegex)

+ 1 - 1
gramjs/network/MTProtoSender.js

@@ -380,7 +380,7 @@ class MTProtoSender {
         message.obj = await message.obj
         let handler = this._handlers[message.obj.CONSTRUCTOR_ID]
         if (!handler) {
-            handler = this._handleUpdate
+            handler = this._handleUpdate.bind(this)
         }
 
         await handler(message)