瀏覽代碼

Fixed MsgsAck bug

painor 5 年之前
父節點
當前提交
62b229aefd
共有 4 個文件被更改,包括 4 次插入15 次删除
  1. 2 10
      gramjs/network/MTProtoSender.js
  2. 1 3
      gramjs/network/MTProtoState.js
  3. 0 1
      gramjs/tl/core/MessageContainer.js
  4. 1 1
      main.js

+ 2 - 10
gramjs/network/MTProtoSender.js

@@ -279,8 +279,7 @@ class MTProtoSender {
     async _send_loop() {
         while (this._user_connected && !this._reconnecting) {
             if (this._pending_ack.size) {
-                console.log("adding pending");
-                let ack = new RequestState(new MsgsAck({msgIds: Array(this._pending_ack)}));
+                let ack = new RequestState(new MsgsAck({msgIds: Array(...this._pending_ack)}));
                 this._send_queue.append(ack);
                 this._last_acks.push(ack);
                 this._pending_ack.clear()
@@ -294,14 +293,11 @@ class MTProtoSender {
             if (!res) {
                 continue
             }
-            console.log("res is ", res);
             let data = res.data;
             let batch = res.batch;
             this._log.debug(`Encrypting ${batch.length} message(s) in ${data.length} bytes for sending`);
-            console.log("data to send", data.toString("hex"));
 
             data = this._state.encryptMessageData(data);
-            console.log("encrypted to send", data.toString("hex"));
 
             try {
                 await this._connection.send(data);
@@ -333,7 +329,6 @@ class MTProtoSender {
                 return
             }
             try {
-                console.log("data to decrypt was", body);
                 message = await this._state.decryptMessageData(body);
             } catch (e) {
                 console.log(e);
@@ -471,6 +466,7 @@ class MTProtoSender {
         if (RPCResult.error) {
             let error = RPCMessageToError(RPCResult.error, state.request);
             console.log("error happen", error);
+
             this._send_queue.append(
                 new RequestState(new MsgsAck({msgIds: [state.msgId]}))
             );
@@ -665,14 +661,10 @@ class MTProtoSender {
      */
     async _handleAck(message) {
         let ack = message.obj;
-        console.log("ack is", ack);
         this._log.debug(`Handling acknowledge for ${ack.msgIds}`);
         for (let msgId of ack.msgIds) {
-            console.log("msg id is ", msgId);
             let state = this._pending_state[msgId];
-            console.log("state is : ", state);
             if (state && state.request instanceof LogOutRequest) {
-                console.log("got it");
                 delete this._pending_state[msgId];
                 state.resolve(true)
             }

+ 1 - 3
gramjs/network/MTProtoState.js

@@ -122,14 +122,11 @@ class MTProtoState {
      * @param data
      */
     encryptMessageData(data) {
-        console.log("got salt : ", this.salt);
-        console.log("got id : ", this.id);
         data = Buffer.concat([
             struct.pack('<qq', this.salt.toString(), this.id.toString()),
             data,
         ]);
         let padding = Helpers.generateRandomBytes(Helpers.mod(-(data.length + 12), 16) + 12);
-        console.log("got padding : ", padding.toString("hex"));
         // Being substr(what, offset, length); x = 0 for client
         // "msg_key_large = SHA256(substr(auth_key, 88+x, 32) + pt + padding)"
         let msgKeyLarge = Helpers.sha256(
@@ -225,6 +222,7 @@ class MTProtoState {
             newMsgId = this._lastMsgId + 4n;
         }
         this._lastMsgId = newMsgId;
+
         return newMsgId;
     }
 

+ 0 - 1
gramjs/tl/core/MessageContainer.js

@@ -1,7 +1,6 @@
 const {TLObject} = require("../tlobject");
 const struct = require("python-struct");
 const TLMessage = require("./TLMessage");
-console.log("tl message is ", TLMessage);
 
 class MessageContainer extends TLObject {
     static CONSTRUCTOR_ID = 0x73f1f8dc;

+ 1 - 1
main.js

@@ -19,7 +19,7 @@ logger.level = 'debug';
     //let request = new GetConfigRequest();
     //let res =         await client._sender.send(new GetConfigRequest());
     //console.log(res)
-    //await client.signIn({botToken: "773348:AAEL_68PNU0ekQhzpjBKj9U5S4WiINq-voY"});
+    await client.signIn({botToken: "773348:AAEL_68PNU0ekQhzpjBKj9U5S4WiINq-voY"});
     console.log("You should now be connected.");
 })();