Coder Social home page Coder Social logo

telegram-mt-node's Introduction

telegram-mt-node

npm version Build Status Coverage Status Climate Status Sauce Test Status

Telegram Mobile Protocol (MTProto) unofficial library in pure javascript on the Node.js platform

About MTProto..

MTProto is the Telegram Messenger protocol "designed for access to a server API from applications running on mobile devices".

The Mobile Protocol is subdivided into three components (from the official site):

  • High-level component (API query language): defines the method whereby API queries and responses are converted to binary messages.

  • Cryptographic (authorization) layer: defines the method by which messages are encrypted prior to being transmitted through the transport protocol.

  • Transport component: defines the method for the client and the server to transmit messages over some other existing network protocol (such as, http, https, tcp, udp).

telegram-mt-node in short..

The telegram-mt-node library implements the Mobile Protocol and provides the following features:

  • Both TCP and HTTP connections implemented in the transport layer

  • A cipher implementation for AES and RSA encryption in the security layer

  • Both plain-text and encrypted message to communicate data with the server

  • Diffie-Hellman key exchange supported by the prime factorization function implemented in the security layer

  • MTProto TL-Schema compilation as javascript classes and functions via telegram-tl-node dependency

telegram.link main project depends by this library.

Installation

$ git clone --branch=master git://github.com/enricostara/telegram-mt-node.git
$ cd telegram-mt-node
$ npm install

Unit Testing

$ npm test

Example

You can find an example where take an auth key on the fly and ask what is the nearest DataCenter:

$ npm run-script example

Dependencies

  • telegram-tl-node: a Telegram TypeLanguage library

  • get-log: a Node.js Logging Utility, easy to use and ready for production.

  • jsbn: a portable implementation of large-number math in pure JavaScript, enabling public-key crypto and other applications on desktop and mobile browsers.

  • bigint-node: the Leemon Baird BigInteger javascript library ported to Node.js

  • node-cryptojs-aes: A minimalist port of cryptojs javascript library to node.js, that supports AES symmetric key cryptography

License

The project is released under the Mit License

telegram-mt-node's People

Contributors

enricostara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

telegram-mt-node's Issues

[TypeError: "list" argument must be an Array of Buffers], occurs after POST 200 OK

I am getting this error after performing successful POST to telegram,

Uncaught TypeError: "list" argument must be an Array of Buffers

issue occurs in
Buffer.concat = function concat (list, length) {}

My request headers:

Accept:*/* Accept-Encoding:gzip, deflate Accept-Language:en-US,en;q=0.8 Cache-Control:no-cache Connection:keep-alive Content-Length:40 Host:149.154.167.40:443 Origin:null Pragma:no-cache User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36

my response headers:
Access-Control-Allow-Headers:origin, content-type Access-Control-Allow-Methods:POST, OPTIONS Access-Control-Allow-Origin:* Access-Control-Max-Age:1728000 Cache-control:no-store Connection:keep-alive Content-length:84 Content-type:application/octet-stream Pragma:no-cache

status code 200 OK

Cannot create authKey

Hello, I'm facing a weird problem when I try to create an authkey, the error I am receiving is:

I'm using Telegram.Link to as a dependency.
[ERROR] Fri, 09 Dec 2016 14:20:21 GMT ConstructorBuilder.registry Unable to retrieve a Type by Id [00000000000000000198562b9ebd4a5840000000632416056be4800f5a191361ca0e9d74428b918313613128856cd8176808cc21abb7cdaf081690f737d01a355100000015c4b51c01000000216be86c022bb4c3]

I am using it like this:

export default class Client {
constructor(){
this.data = {}
}
{...}

connect(){
  this.data.client = Telegram.Link.createClient(
        this.data.app, this.data.dataCenter,(error) => {
        if (error) {
            console.log("Unable to create client: " + JSON.stringify(error));
            return this.connect();
        } else {
            console.log("Creating auth key...");
            try{
               this.data.client.createAuthKey((auth) =>{
               this.data.app.authKey = auth.key.encrypt('password');
               console.log('client connect to ' + JSON.stringify(this.data.dataCenter));
              });
            }catch(error){
              console.log('Error:', error);
            }
        }
    });
  }
}

Any idea of what could be happening? Thank you.

Stack size exceeded

Hi,

tried to getHistory for a given chat, got the following :

undefined:87
    this.readBytes = function readBytes() {
                                       ^
RangeError: Maximum call stack size exceeded
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:87:37)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)
    at readBytes (eval at createConstructor (c:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:88:21)

It happens with a limit of 5 messages, tell me if you need more logs

Task 'example' is not in your gulpfile

Hi. I'm getting this error for running npm run-script example command as mentioned in readme file.

[01:24:13] Using gulpfile ~/Projects/Others/telegram-mt-node/gulpfile.js
[01:24:13] Task 'example' is not in your gulpfile
[01:24:13] Please check the documentation for proper gulpfile formatting

npm ERR! Linux 3.19.0-22-generic
npm ERR! argv "/home/mamal/.nvm/versions/node/v0.12.4/bin/node" "/home/mamal/.nvm/versions/node/v0.12.4/bin/npm" "run-script" "example"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] example: `DEBUG=-mocha*,-TypeBuilder,* ./node_modules/gulp/bin/gulp.js example`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] example script 'DEBUG=-mocha*,-TypeBuilder,* ./node_modules/gulp/bin/gulp.js example'.
npm ERR! This is most likely a problem with the telegram-mt-node package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     DEBUG=-mocha*,-TypeBuilder,* ./node_modules/gulp/bin/gulp.js example
npm ERR! You can get their info via:
npm ERR!     npm owner ls telegram-mt-node
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/mamal/Projects/Others/telegram-mt-node/npm-debug.log

It seems the task example is missed. I didn't find it in gulpfile.
Is there any simple example of using this module at all?

Unable to retrieve a Type by Name [api.type.User]

Hi,

I was able to update my username simply by adding the following function in a new module (like auth)

Account.prototype.updateUsername = function (username, callback) {
    utility.callService(api.service.account.updateUsername, this.client, this.client._channel, callback, arguments);
};

But, when I do the same thing for Message, to get the conversations, with getDialogs

Messages.prototype.getDialogs = function (offset, max_id, limit, callback) {
    utility.callService(api.service.messages.getDialogs, this.client, this.client._channel, callback, arguments);
};

I get the following

Error: Unable to retrieve a Type by Name [api.type.User]
    at Function.requireTypeByName (node_modules\telegram-tl-node\lib\builder\constructor-builder.js:358:15)
    at Object.requireTypeByName (node_modules\telegram-tl-node\lib\builder\type-builder.js:126:31)
    at TypeVector.manageType (node_modules\telegram-tl-node\lib\type-vector.js:50:23)
    at new TypeVector (node_modules\telegram-tl-node\lib\type-vector.js:34:16)
    at deserialize (eval at createConstructor (node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:31), <anonymous>:63:14)
    at deserialize (eval at createConstructor (node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:30:79)
    at deserialize (eval at createConstructor (node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:33:79)
    at deserialize (eval at createConstructor (node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:29:80)

TypeError: Cannot read property 'typeName' of undefined at MessageParser.parse

[ERROR] Tue, 23 Jun 2015 07:28:10 GMT ConstructorBuilder.registry Unable to retrieve a Type by Id [e033ae7d]
[ERROR] Tue, 23 Jun 2015 07:28:10 GMT net.RpcChannel Unable to deserialize response d701cfc1df2f3858d93829d3199ccada1c27fdb22e38b9e027bdcd2abd2c399adf0258d1af4df5bf315e2f7dbdf2a7f5e4f18660f07c211db9551ac690ca558f41f3487ba5cc1e5277971edacdb1408d2fc7e8500047a74d288d76f50309f968d99e304cd9820b1bd909b4e79eb1e3750f007c71bf5f46cf9860b1ef2c24e1a8137dca4aac8d316d1405caf2fb553013466117b67582b0e89766c42551df7111668b4c6b0cd96fa9ec594a835cb51b47ffcb60893c9a9ce605400b34ef30f355d113bc7eb6700c244c221d9a596a6f1af8dde079f7f8959d20b16206a8caf9ead8d70bab07c534f4e9a168bf13eec56da054dc3111cdeab967dd2445d577e5070d5e90e884a79a5724f06c3e46ea83d546302c0c06967769 from mtproto.type.Msgs_ack due to Error: Unable to retrieve a Type by Id [e033ae7d]
at Function.requireTypeFromBuffer (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:332:15)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :27:33)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :32:79)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :28:80)
at EncryptedMessage.deserialize (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/encrypted-message.js:151:89)
at EncryptedRpcChannel._deserializeResponse (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/encrypted-rpc-channel.js:173:99)
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/rpc-channel.js:64:35
at IncomingMessage.onData (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/http-connection.js:101:25)
at IncomingMessage.g (events.js:180:16)
at IncomingMessage.emit (events.js:95:17)
[ERROR] Tue, 23 Jun 2015 07:28:10 GMT net.EncryptedRpcChannel Error: Unable to retrieve a Type by Id [e033ae7d]
at Function.requireTypeFromBuffer (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:332:15)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :27:33)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :32:79)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :28:80)
at EncryptedMessage.deserialize (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/encrypted-message.js:151:89)
at EncryptedRpcChannel._deserializeResponse (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/encrypted-rpc-channel.js:173:99)
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/rpc-channel.js:64:35
at IncomingMessage.onData (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/http-connection.js:101:25)
at IncomingMessage.g (events.js:180:16)
at IncomingMessage.emit (events.js:95:17)
[INFO] Tue, 23 Jun 2015 07:28:10 GMT net.EncryptedRpcChannel Call of 'mtproto.type.Msgs_ack' took undefinedms

/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/message-parser.js:22
switch (message.typeName) {
^
TypeError: Cannot read property 'typeName' of undefined
at MessageParser.parse (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/message-parser.js:22:20)
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/encrypted-rpc-channel.js:163:26
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/rpc-channel.js:77:21
at IncomingMessage.onData (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/http-connection.js:101:25)
at IncomingMessage.g (events.js:180:16)
at IncomingMessage.emit (events.js:95:17)
at IncomingMessage. (stream_readable.js:765:14)
at IncomingMessage.emit (events.js:92:17)
at emitReadable
(_stream_readable.js:427:10)
at emitReadable (_stream_readable.js:423:5)

[Question] Solve PQ

Hi, just a question about the algorithm to solve PQ during the auth key creation,
did you use the algo from ex3ndr ? Because it seems to be the same, except on 1 line :

long z = x < y ? y - x : x - y;

vs

var z = y.gt(x) ? y.subtract(x) : x.subtract(y);

Not sure if the final result will be different though, didn't test yet,

my question is, does this algorithm have a proof or an article talking about it, or did you use it because you knew it worked ?

ERROR when I run 'sudo npm i telegram-mt-node'

I am trying to install the telegram-mt-node library in my projects to use it with telegram-js library of npm.
When I run the command, this error appears:

npm ERR! code 1
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b master https://github.com/enricostara/node-cryptojs-aes.git /Users/abelmescua/.npm/_cacache/tmp/git-clone-63d36f2f
npm ERR! /Users/abelmescua/.npm/_cacache/tmp/git-clone-63d36f2f/.git: Permission denied
npm ERR! 

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/abelmescua/.npm/_logs/2018-04-26T12_15_29_293Z-debug.log

Is it something related with permissions in the git repo?. Something had same issue?

Error deserializing GZip

For every gzip response I get an error :

[INFO] Mon, 06 Jul 2015 11:32:38 GMT  mtproto.type.Gzip_packed end > this._buffer.length 1170 952
[WARN] Mon, 06 Jul 2015 11:32:38 GMT  message.EncryptedMessage Unable to decrypt the message, the authKey ids do not match!
[ERROR] Mon, 06 Jul 2015 11:32:38 GMT  net.RpcChannel Unable to deserialize response 1ff1af6482ccce1a58231aaae......
 from mtproto.type.Msgs_ack due to Error: Unable to decrypt the message, the authKey ids do not match!
    at EncryptedMessage.deserialize (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\message\encrypted-message.js:135:15)
    at EncryptedRpcChannel._deserializeResponse (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\encrypted-rpc-channel.js:206:99)
    at C:\Users\....\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\rpc-channel.js:64:35
    at Socket.onData (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\tcp-connection.js:143:13)
    at Socket.g (events.js:199:16)
    at Socket.emit (events.js:107:17)
    at readableAddChunk (_stream_readable.js:163:16)
    at Socket.Readable.push (_stream_readable.js:126:10)
    at TCP.onread (net.js:538:20) 

Happens every time with getContact, sometimes with getDialogs if requesting too much results.
If you have some clue I can try to fix it

Edit: In fact it is working sometimes with DialogSlice

Edit2: This seems to always happen when the response is composed by at least 4 messages.
Below 4 messages, no problem

ConstructorBuilder.registry Unable to retrieve a Type by Name [api.type.Update]

[ERROR] Mon, 22 Jun 2015 04:18:24 GMT ConstructorBuilder.registry Unable to retrieve a Type by Name [api.type.Update]
[ERROR] Mon, 22 Jun 2015 04:18:24 GMT net.RpcChannel Unable to deserialize response 756172d4e93792d0133d7243c571cf0c58fe029f634b9825891aaec040bb1b1de0b504227196cc72bca84e5f3951a2bf548357483101d5fe10839a26337581d48bd33933fde494fc45a53ec5ed55164e57fa4e4d866f9363b823581a7910cf864f22ad3d645b2bff3af5d292af6d5e5439fba63ea27443a982773125e251ace46c45f9b95964ea03 from mtproto.type.Msgs_ack due to Error: Unable to retrieve a Type by Name [api.type.Update]
at Function.requireTypeByName (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:358:15)
at Object.requireTypeByName (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/type-builder.js:125:31)
at TypeVector.manageType (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/type-vector.js:50:23)
at new TypeVector (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/type-vector.js:34:16)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :27:14)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :32:79)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :28:80)
at EncryptedMessage.deserialize (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/encrypted-message.js:151:89)
at EncryptedRpcChannel._deserializeResponse (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/encrypted-rpc-channel.js:173:99)
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/rpc-channel.js:64:35
[ERROR] Mon, 22 Jun 2015 04:18:24 GMT net.EncryptedRpcChannel Error: Unable to retrieve a Type by Name [api.type.Update]
at Function.requireTypeByName (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:358:15)
at Object.requireTypeByName (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/type-builder.js:125:31)
at TypeVector.manageType (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/type-vector.js:50:23)
at new TypeVector (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/type-vector.js:34:16)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :27:14)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :32:79)
at deserialize (eval at createConstructor (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-tl-node/lib/builder/constructor-builder.js:115:27), :28:80)
at EncryptedMessage.deserialize (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/encrypted-message.js:151:89)
at EncryptedRpcChannel._deserializeResponse (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/encrypted-rpc-channel.js:173:99)
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/rpc-channel.js:64:35
[INFO] Mon, 22 Jun 2015 04:18:24 GMT net.EncryptedRpcChannel Call of 'mtproto.type.Msgs_ack' took undefinedms

/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/message-parser.js:22
switch (message.typeName) {
^
TypeError: Cannot read property 'typeName' of undefined
at MessageParser.parse (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/message/message-parser.js:22:20)
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/encrypted-rpc-channel.js:163:26
at /home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/rpc-channel.js:77:21
at IncomingMessage.onData (/home/munawwarshelia/Desktop/random/telegram.link/node_modules/telegram-mt-node/lib/net/http-connection.js:101:25)
at IncomingMessage.g (events.js:180:16)
at IncomingMessage.emit (events.js:95:17)
at IncomingMessage. (stream_readable.js:765:14)
at IncomingMessage.emit (events.js:92:17)
at emitReadable
(_stream_readable.js:427:10)
at emitReadable (_stream_readable.js:423:5)

Unable to retrieve a picture

Hey, me again :)
Less urgent, but important for the future,

tried to retrieve user picture, got the following error :

Get photo
[INFO] Fri, 14 Aug 2015 09:09:07 GMT  net.EncryptedRpcChannel Call of 'mtproto.service.invokeWithLayer' took 29ms
[INFO] Fri, 14 Aug 2015 09:09:07 GMT  net.EncryptedRpcChannel Wrong server_salt in message [0x55cdb033e5603600]
[INFO] Fri, 14 Aug 2015 09:09:07 GMT  net.EncryptedRpcChannel Call of 'mtproto.service.invokeAfterMsg' took 26ms
[INFO] Fri, 14 Aug 2015 09:09:07 GMT  net.EncryptedRpcChannel New session has been created by Telegram: { T:mtproto.type.New_session_created, first_msg_id: "0x55cdb033ed915c80", unique_id: "0x00f94820f4fa59fb", server_salt: "0xc3bd66ea1647b73d" }
[INFO] Fri, 14 Aug 2015 09:09:07 GMT  net.EncryptedRpcChannel Send the ack to the server: { T:mtproto.type.Msgs_ack, msg_ids: { T:Vector, type: "Long", list: ["0x55cdb02c65416801"] } }
[INFO] Fri, 14 Aug 2015 09:09:07 GMT  net.EncryptedRpcChannel The server sent a acknowledge for the followings [0x55cdb033ed915c80]
[INFO] Fri, 14 Aug 2015 09:09:08 GMT  net.TcpConnection end > this._buffer.length 67436 10240
[ERROR] Fri, 14 Aug 2015 09:09:08 GMT  net.RpcChannel Unable to deserialize response 8db0dc74e337e4d07aa46276674b92d5e0be03365a856ca7fa26f757731be7cf1f5ce0b3cdb7724e19cf224a413ae5f1214c3df4ea5073dc3dd30fd2868a6ed035ea968b6ce43f66b1b585fd9e37be152bdf4a493aa7b57dd755b24c1763643b8777ab5dec74ad0f7766333e2a5658e4a5e95fb747383733f0a15b32147d56fe8b6afa23578e6f28aaef2483cf394ab3d544c7eb19a8b7e163713ad65550112ecec89c1390daee2a8d6ee81210ddd97b41ff7dd7fcde123a8024a2c5562f2b170f8c6f74391ddbf6e99118f5b8ada2bb0825a4a1dd6cb5b4a5822769c31cd86674c7415ab0f34a37a0414c1249646ffe34c406d9856d2ae381879db00a588c8a875fdd0529bc2274d5b2a858422597efb95c862966ff0d281231fa5bfa6ceb96bcf668768c607ae7fce146ef4ffe44f2848ff977ec315e120ae754545ad1ca257dbc35e8d048d7fc711815d785a1160c14f4e3e0700283620339538f86a580b90faf0d760010847e744df1bf057a076bea7f3a9d27ce1950e8cd726e209bd8d76cbc93f730a3e9d1a41e1a6db0167ffd585346bca6692b3f13cd6db3e8374d0827f8706af10bb07b5e031d06eaf1a41d6bdfe7f1401b774697efc9224316a9bae13ccd37efafe4112d5e5441cef4aafa41a62153577fa7b4e0d712c6ec10435823c05b1cd5ef678f3c35bd0f7df762b2f6add3465ecf36826ce34fe97d7b641dddbb865035cfd6b68c91f772b1cc34a96cb14855e2d46eca90a7b8756ccf8dc2a5b940349f76981111869661a0db83a080487c7ab33497e392f93f7a9ea1a4ccafffb7fd0ba854094bcb52835fc4c7c883d5eaf35e000962ccab567118487ed29d2991aac50debbae252cee55f956f3c1bc1c50f72f171328daa646435d7ee857b3ee06539036bd484854a352fdf010f88167c210d4b2b6be42b4af00dc64257dc442736eb023af6a1a6be3acaf78e389020395be077f9bf5767d81be4068ae12c2f0e61ffd82d1405564327952b328d4e1298f37e698bb142f81ed28da308834b08da272f18c1573ee2a061f958bb1de7d24ee94fc90b4a010aa60fb98daf15e71f497f2aa91d5dd8b28b0f5b128d495b08af434688e9399987255b9a0f1e3f97da412ebc772c314e194c1ed4648bbb018ebbcc48266f7b36027677cdd6bea64efe7bbfef7dc01666894776b6d28c58400af3321afd1b0780e920bdb1f4c0e02886f80ee65ed413b4c0974bd65386b58da21f31dfc8f218b4371cbdc6275225fdda472f923f568fab8cf7661b4ccc9ac82e2b93cc5906826dd6f2edd16855153ac2e6d1b5270310dfafce01a2e5a5be1c5ced64b62f7664b953ff543eecf702f34007426a3d5bdc8241109dc25f28bec12d3ec5686bd2ccc88c6a7c3ac8b1a20a1022404d9ac9ccd47236ee5a663131f71819bbd37c00cdae43c6cde436637bcedf0d10688b9dfd84b63a0205c6c9d7a2fdf8f1e795ce090b35a85bd9719bd7c2cb872946e0dc5aff7c5ac692545f3d2273e18c9c58c05ab5e108e40262b959134c8f3a8026661b897224db46bce5ba2c6a53f726050ec9c819b5569b1d9954488492678c81480a2ebd000a1acc0aa19ed0db6c2626d26dfd70a0d79a8dd2583451af8ba42cc830656a4dbc6ab2a2486e541f7f008ed249afa74e6057b716afe4f998768c6b81263248c2df902c4776acda4c6dd71ab1f31ef9bca62c126f68cd08547adf4bf912d51a9b51b52c7f82dd0adb8a13f2a2fdd0482954c03d6d744c4c50f40c2e99869898de3e0c6dda2b3891bd9811810e1b1d153888f66d41363c3723decd7316fd71beb7d7cba1443171f567222b13c2a8170c6c0d1b9cf17175a0f5d946f6caff0c10aba5065cfc710e1cebbed155637512583cd869bc885144cc51903162776a97f7755a31dea26cc306f51d7a73ce28c8d370e565f56b1a3b6d44647a9c59c9aff1908e30f5665f6919dfd4c754a80ab3a7a83042ba44cc9cb40f8ae004e4c0398ea624a3ef7811e8a6ae418b66e244c7d8b75c2975eabaf59dc2f90ace9aa0c2cba890393d9fffa058290bb84a232c8c4e3a85a4a154e8f93e606017b202f4f6c04790de7a97df1763a07e7e2da9e45fe6f0e222e2179c09ec654c4b7287421aa94bfe263d7aab605d9d4aa42eb390a75399a3466bfc396f0574daf2bd4ce6b4411893cd0be64534a778b84ec77bd020900b4f43afc73a5dda2849ceff7b17e014839defa3d5f4c5f358cfcd7ed21a7916aea8b11f105c92716eb1d673912dbf4faf7940575e2349bef8f1861bdcb0e67b6ad15526d3feca50e4e6fd6e9f2c29470d85b855c5db639c82503df456d9b58214f5c6680336c19a84f152fcb9bd02d5d31384a83b5a90b5c0ea1367b9ee0a0e517a82259e5245a0ad5b7d361c6187f109b9ff08d9c0b4df30a185bd3cc20a75137f69946afe9c15121162be7b9d3e6a0bdfa6aea1378b2b510f78a753ddf4cdfb3acea7278554f08b6b4f6d1bb720dbab904233edc20f2699fd996f62a6764f484259920816dff8eb42ff9f8fec10e216a222af4e05c208401686f39bc031c8b454c875a2f3d7cf55f5674cec56f7ff6650c54b443c2d0ce4541038cd20019accbcb4fe55f908a9f809588acea92d5fabdbd70cf957b00d89ad24535e79734b47bc9ddbd1ec4f89a50f8571c9e20bba865346e73c102b11fb637e4fc36c60a09d61e16bfd46b0acf36865b418e92b085c679845f55f7852c4a93ad85407c81574511dcf773fa423793305eed1d083879c066a2ce87110d1dd274fe8a6b867fa7a5580faeda54d54c476df4fc36b49fab4a2e0432f4a0dca7cfbcf9042087293533c7ffddd40791698ac4e1edfb4a6f87b05bb4baa58c48c7c3b3a3059183d39ccb5844ad9d1b6c1e7336daa462505e004249f024f9e09fd431d22c2437434c9b856af3833e02b7a2fda329f30f01bf2872d292a28d47041cf16d6c4bebae0b96a588ee74f4c89d98cd23d0a2c6347b474dee978edf123db36b1b603c42844da68c0cd06999f41e5e0ae76e2df091f55e6022bbbc622bd62f9d36453716a6e7c4fe8597da0df2473e663157db305d21a2339f30d1623c50b543ea56ca80693e23a473c728325e304b6c10aaab2a590a692de0e02de247e54b1c80c9a4400eeaec24421801234a3147675bf4f5db7ce031b4cc237aef8c97da477fd023aec20ca55f4d8738efba645222e7901ca3319535d56308c8a0394bb1ce8db05e60fc14d4793f4d72d1deef4cc77f2b3e9f8117c9abfe435961dd307d2117240455451f7391eee8f0e73ad3cb8fad368d5e2b1446542cedce1dbe994ad0e14e7f791f57ef277f36fd0eb5fa1ceef4a2c316aea0feab35ac99f59990eaae3d6484105928d2609cc544c284b4caf9f1a7b28e63fb6481dad7af7bf9caa2ff7af02bc397bd0b504c9256759c6536a2232f15f5f204d6a25ecfd0933fd37c2e01461510b441bcb61084bc556f65557d73a18a061bfab64787bc166be89f3c969e1f1363a7120ceb23057fc12610f646798c478b8f5cd78b566133a38c2483843fc6a7aea89bd10447d9f2c37e3f42c391e0aa295377a85627e53b55f46be35b02e91b38f2374d395c784c179c740b2aa46f2dc56a8ee42a2afce3c786aa877b17843f38fa421e464c4c008aaa8b32825b4a92656cdfd3abca3e261c60821f4a93ad0a86649d02671aa4e308741b069fd130baa502688a07ad63b8ee0c9e7e45edb1ccff7ab1ab45ecfc966d89857c739260f853028e23be4ff7f92fe2c9b221c68c5887b4d411cbf0258ed0b3fc2e1b6e9be12609c5927a7779855aa8ee79b0353a05aa8030dc3c681d99e44cefc8cb76aef96b18f2b9050238a30b719cc0ed62977865b7cfc73040c324741bea4f6d4bdf3d326854da51e23746c2da0d923a2ea5923aceebd268ca97c9e932c2dd2f8317cb1b4ca98c192d98029f6b03b2b1977d463fc1d84312dbb4db3cb3bb8631e333bf6511a6c82c2612c1ba12e46cc3c6753fb541092a0f98f410cf11de3d6beb12f04817943043b7a70d4cba791f97569079fb4258a11a8e7baf69e8b429b49816d502d72ec143b85538780734747ac8c2eb4f76506e14a76adaa410779a6b37c922ae377d8ec81395a7b43a929acccd9179e9e2ae2ba2ed4c75e23127621a797c5dea788c7671d171adcdc484900d65987cd12a8837ccb8a05026ce0542c1e893b3abd9b5c1b7c80624cac49adb80ac285db16332660489b9e4b7cef2b746af383b79dd11b9081e7dcdb77f55ef7fbef61374d7cfd3b68d7c349701d87827f6f9fb1e91ebaa7288c67578a3e771e27845c1ab49909ded0663440e26c628706023e6fb8280c34eb0ceb7e7a7266e694327fda76e2178c6f80bfce010ff2e0e01047cf9da5e236f468e92f908b7cef11cf0d9b7b654f189fb31d050e8745d14efa0dd1f8388bb2342a03b9554551eda7909368a3b40507eb2572849a4f0137fdf3541ed5053cb6796948954e3b04b9d9b9f19facda369dedb6ee4be958a986ee391b78b576dabb845bb9120c9751e9bdc616207054dfa5c889eb8da35a8135b7f024acdcc9bc9ab25fffde64c0d04f49ab8faa2b03d79111cc86c5ec6d5a2c8b31c30cd4b4ebbc2c7133ad9b0ee8edaaf0bfa73902b8062c70186099c21fe020298a966b1b3b01d7662cd87bc4ef364568a6da963133ff13b4d20557d39a38ec604c707a72e49b46a7445c0bf10e739f93ea4c69a0552bc9d48ed1990074173303bf878081be4ca49ceb60ada79339eafc0513da5821a9ba63cadb1e4120d4d6ff36c9c4b0fc65b2937ce8d59bff42ff59f175bae1c7b137441d0bac21c64933bb19b1e3a69548bbf55108fd9ddd129651eca4e84d0db90c7ba6972be5da38a0db563ae62f7b9b3eca422cc40f1647376d17091a5c27f16f0cb995d9c21ef3cdebc93d3fe9ca69b0bd313a103f93cdaf31c1c6a9e6fe553ae4d005afe7f9c6b96dced0a72c9c0a2d5657e1e5e94e481ac16e5162732aeda8a4c3e38663a2bfcfd784e21001fa7d08e4126fc2fd5f3ab80e4d640617dc01633b6e1bc50fe3a9a3f805219662359f581cde490c6999c3f64d5d969db8d8f46bb53ea1ce0a5d62712f8fc5a202b05e6e209e3c309e520b6ef49b7572459893095de643d0ef28a4c460392d6ec733724c7f5f3b549c395f9e088b9a6776289e2f19facd85f2e787d750ece8011059e62e1da48bd3f3f0c77adbdd5c5f8e58985e9804f36a8a3bd542a82fff122b7a68916a02be2f8722655a36ba4e86d33bf3804981009ca21e81bc48933e63b3b6bca9b0d140e59bdaa8f86d93a1a8d201172405a657b18b1a4e8761819bf6d86d56e2b542b7321f7e57c6b6c52b847b2cadbe946c1715b52634f643a389687e5414b60fea308d0bc729929310054807c0f4208cfa12bff7f70949e10e5d58256f1656b56f076168f4482b7ce16b2a0e7b9c6ae9bf434cc122c6bafb57d57bf3d8a49f3c93629181a0b5d46f960c0cd771d3a36cc9673b1a544f856ae98b2a99ce165b4431b9de97087a661483213cc6fc88920cbf9f9bdcbdd858c8f4890842115394eeea0bcf6ba155439b0b4b6afa6b7fe6329bce71fd5fa0835a58eabf52e73f95f912c13fb2467e3784d899622aff8c1be9c9f5e866bb76dcbf207d620f952143d0f9be5c5c0224e3679691e2572e36c1d7b08b9afc0569008b2d94cf605ef2d0db7de9e71a3a7aecafcf8fb5ea84260b63f0023457e35b927cf6e321759e295c551fe937f81bf76a44362ce93631eed4d23265a7dc225a638f408a21c0a89c373e9fb963b52e7f7ac83dfb4ead05ff94cb3daa17892441fc7e7cf40ac7a3ce5db1d9ff0d943631cf7e6889a5fdf24d32cca1bb21e22c80d45cd36e15b5567739b1a52cbc55709783c481fb35da077a22194eb1d4e22c0232ee55611266c1d17a908bbaf30bf84160c71d14feade7025ae02dcc7120e8c174558e0d0824a1c729073ef8fa190757378b38543decfa9f87f0a9b48c481b2b4099d0f29839bc6bc8543b6c120805a1461adad1fb5ce1e95779dd1d32c99d32667382a21643f0a9ec132596e87442d917150686746c5caa0ee051e4f89be196a7c2dd9a0678b37442c65a8db8e9049eed3ae17af60344c1e8f25757c232cc4c97407dc3f37ae23bec1cf38a801b6ae45610871f97a31b53dc71b7beeae924c1be257c38110f37ef340220cd6c725ca182ba9fb0b6de538f575967cdfb461512eaf3188d3a2a488a77bc9e26ec429949bc9f90bb3aca70955fdbf03bb33fdda0872d567d1c0ba323af0ddf0a20dc17b83abe98827ed5bc386035363d748a912ce3f610539eb2ab623ac3d54eebc3672f1c27798e760ad6cc38bb5f48dc217de8371d80fd9b332d288a0d392866bd40cf0e89d1132e00f204ee2f4d29041fa77743665bbdd3b2890706951e652b595cda512ba81fd60d8f4ac2880241ff2e7ad8f1af9f5bf86aba93daa594336986aefd0082b55e60ff75c10cfa3acf43cdc34b3dd410868e522c5ada68a8e333002aff7ecd3a99fd5fda71b0f31613345b08c6505e0e109360765a2727bb4bf08d4b8d735dc71d9f0a2840504dca9b0160e1d33a9fd1c145bec09828842852ae9769d5d70e7b0b54d3130971cca82c880f0bac7aad42e23c185c6883860988545dbbfbfe88000509296adbf46ec93558f68ae75db3b4c5c426fae2dc41bbafd324ae22cc7ace4c9edfb8b3b668919ae52f4789b413f584f383f529292d10f5e2b4fb1799573cab8fb6f036800ac36c02b78405ec3f7b6420e22aa404f555d11b6afd24cbef08a06f91b78e5af9eb08a07ac7cb452de9b3738f7e08933bacc0a1786a57a380aeeb2929d73fd9c71aaac16930d8f3df3098ff1069ea0f1d57210e236f5ea45e24ba1d0bfaa2ff00780d258df5c9af9d11040664ea2f0658853788bdd696384e5c8195075ba02b13d306ba2ebe32a58a994b2bab15a61ef27854af2a2a49bf73941bf88d84ee69054ce0f0b2eb2017c4ab74d05b99bd426b533eab837d2275ba160d107564174bafab734c2c93ffd3f3280b9fc3df582dda95bfab31e6045e098927b250366c259d4c95e901f0147d2d4c274d7b238c7ec871e6eccccdfeb501140feb6fc8664079993557320972c467ef4f6bf042e90d4c7f22c39ce20f1212d3619a7e1e8c46d2b88d20b072e01757f762c6dad0d4462af73ec4cc3ce218715065c5b20e0a084e97b954b60911f14ca184d35ff1db4886a35649782ce8e35c3c50655859ebd1c800847c7eab3e8ac1eec0d7a6070d0b486ef67ce56beeb34d16847b18c26c356c0651dafff25f5beead733857f14a26c0907a89988afccc73dea79d2b0624f0b7d48566a59f3b72e2d1fc959723b99b01f3eae18d57ef48872ba852148b554ef8b2ad775bc22a532588657af98b946b87a1c427ca2465f763c0205c29484f1823736f2c7ab7929d76e483ba745f28f3149723049488de09de69fb8edbdbe95447ec9d334ce06d6ab783f4c3c3835bccb303fd5c21719c43890eb0abdaebb3a6aa072f9f241848fa6db044e5169483a59daebeac7508c6f4339a194d00799144edb84e84c156d6816a63c9e97736a5b0d35ed130e22cdae0b060efaa22704d73d2e26ebc0033dff933eb75267d177224f2e10fe4cc64fe80d86d5b96f74f9b7c8381b6dc62c850181cd0aba8f42d1e09a3a87080e07753aec4f183cabd031b47a2c63bde11f61c8421b8b7450ca91c1d1dcf9689775e7537b4aab658daf7225f208b05066ae52fdb0fdb58c99beca968e80408e91e08eb85d4d4e14b1a4e3506516f4622bb2436933f09b81dabb741f446388dd9ba7fb58115007641b35fd8425acf086c6dff20e90d0ebd30480d55d8f30ba37d7ad84970dd9d8f19ebc86df2e561c0b2508aa1e60d63992091a8cae30c99b9d5ea6b9876c291e0dc73793deacb5b4e1866dd672af5c047abd926070afae8ea737e8746d43c1c556d927321e43fb7b8422071194bd9da171165994bc759a4a99a2656e27e703dfe266b640267addc3fb742a2682466c66b17beb8979d1db1d2a8a4f9605763a1b06c4d4360e7aa1171da044ff22bbb9cee6a0d4a7cb1d0f4a4b23066599d77c2426fc79cfc8c8c4306a20f871319d227cef2dddaa8deeddaf6e3ea9dfc37386ff6c2de727ca780c9c9703a82afbf8bdbf9151904b18c0429a8613b49ba76c0c41deee7794f094af162602f8e996ab9bcd1c644c65874ce45e1b4e36de40e5f564e01b9524c66c3dd22c80e96823952dda9d01c2448d1593d080292424c3eef71392227956bc8e34b3746578ff601a63e35b4e1e7a77570f06665312e3a27a0d14a700328e9690cdf29c7636e14b041b155e7484a45bbd9cb8a3cc5803f6f943afeb5a4c21aef5c86b1fd2bd0d3f94f9a81290f4082529cbca29868c4469b218423522edfa902a48651709ad4886208b060ee7600373a5cb18b135ae93587c555d37f354c4e5320ba121d9a98d6b531cb9190cfaf7539336b1f2f591300de9d2afac59d6c7c4a102c6547553de82f7e5e1cc40452d604bc2aff267721817e92da573750e1dbdfa0c13427afdceb7dc5d519343c4cc95be75dc34293f8d46418e15b25b50674438944b3e4ba6ec7e4c4dca2c8299568d74704dc6c2571ee3dbdfd345906d6a27129af66575ad8e4e4d74453659149c18d9ecd4e88d7e8c69b9580413b7fb71fd12a54ad77170a5c69d8efe035c0e52daf03b4eefb91b931bdc77002324af425e727521c160e777eb9d287bda6136d3aa5c58d5222002d7a8de745f189761a4b1a708c4dd4d92eaa222b37a077d00315be15a2b03ef6d80e337ce8edeb6a7878349de6677387994cb97b250e08f646338a2805104305c5413286072ff41c3ca349caec129a8224daa3b9073fcf1c82e0c2348f8f04f1207b1e5bfb44772254f2f483e8bbf2025568c305552ee1d6e77fefaa454787454115ebfa9a4f24e3b0dde6c5f2e2877c26ae2547c1574073b29b1b5c810b5ca9c662318701d91e41839688c8a7aaf2c10384ab79b15cb65a1776f050d26489cfc28c24d534f233c3b8fd7c96d89c756cd0c9c1ed9d2b04cb2ea044463568464ee94d128c161137e7453190f99985bc20fb9f3122ac161e2cc95c4d6a5d5b14b4d2eca3c48751c0e7c9b591d4025774770ac146b8d1f30a48331c288aa2780e984ba7a80e5edb68e0eb59f7b80fdfa855effe954a80aa37b570477f8514ae0d0cd152cbfaf27f2327c4466366be8a149fd99dac1d4070a716245130d4621b7ad0f42f640705638ee81fffa3f618a9bc19e9013267ea33055b33d22f21bc5ea4de9baa3bfcd9a07a1e0bff1edd68946524dfe209067ba5808e423bfe68c6193bf52b55d05d3e6ec26b1424b87d66a95e8bcdd5a3a01d5699d8fd5c31b46e11a44bd7c1d695eb16b7cf6dc931423e0b576f6175ff565257d50b35786ca7f805dd5de43f58d9647a635bac5a2c9c9ff7ca8a5ed3f13294a2489cbcca4dda255ee3b257d2d5eb9853c1e1c59f26c52899591a170ba955d14f052c0480597c53eb5e2d3deca0002912d6b2274369c5f71bcb977deb006249a696a53bb7262518b1e2b02d1dda03900588c52eb1bb7affaf32e9ce0452a24cc275343af1c2bb13d045274b7c698c3b6f4f6488901a7c2aff943732624c6e336b15174a287af66e9720285db1659c815bec823154141f6fcdf0d8a58aa38d5e83563cad9135eb047e0d4f413314bec212af5e69ffd82bf67992afba69071408f31bace2a71ce128bbcd64a46eb5ed18f5778412289957c8c11cad016523d7812cddf2eacd0dd38a4b00d3e77f5813d41ec68029e457bc32c686d72973a8235fd0f93527b2894d5218b721cba2d86f8df792be51f85f0e6c6980478435e19a3cb824381d4a8f329fb3cdca2a6f9606d3c9efc57e34ba2537b7191baca75e9a0af5f5abb30ce89b585f4c6ae4808d3c4b8f2895f699e6ce102692179fb9671ebfcf724de250f1f937945cc867938669653a5074706d59b5248910f3a68881bcb424d24d6cfc542ba242f4fb800bc14bf002ec596fac063b22c3c726cc013fa05c567e3ee81dded901c6eda269110ad24e8ac60592158b60dd8a51a915db0e51b39c55b7b86e995f3c2509fde64203b983a00ae49f6ff7c13e3e305eb81c12c3774db30a0675ed81eddfc096b21c5f3fbabe3770d2d3626cb3539cb562b00c52c70c60a18af785798cbd11e4e00d54c20e82c34f02e5da89832ac9a41788ccbde5885d47d389196784785b7aa12a42b9f3b4ab54668319849585b083c7dd7e9bf7eead0766e0f1fe9b35bfec7a4908a2cba1af74b01709aebcf2bde11b9ed9f2fc10398e95802c0485f4bacd3f15369bd01c6ebdc31a0b7730c05b955d01dc58f2c2d3bd28f07786b3cd72608e7c705296a5c1c16e144892c1205412b8718568f29454eaafad79c2ed84d5e4b8bd7be85a0e7b4321ab53536278ff34c573146d824138ccbfc47b4888b978e88c846ef35d46c4af41546cb350131dd1b244d777d87721afa0db182d8d869dad7612479f813c415c6909d849114897bcb36381ee3d60b9dfd2fd7472f40b6f4a466376e5b78bb0d0f0fe45c24a964b645216cae3dfeeeea265a9897c6c646c839197097e2fbb6e30560239fae2e7387b92481fc7e14642061970e5d11b8c7c8a19aefeffa87edc92c5c510701f730cea1cb674cc566ac66b72bf908bf995f88889127a8275803cf5a08e97ed0dbf72692b73fd0040ccd36e682d34658686ae556c7758a272e3ac1786ed94e4ad90c350e7771ad435077ab3648eb325cc8265aab91d522d344ad88d10b2fe246fc67c7d0b329092d17d69695cda0d3864fa157d40a8b26e5fa8cac89d34034ffe80955a859b48c56783dbf6123552a99c441fad400a2ac5243a9078f5d59cea58d09287f41865a72913e06008b8ab10e9964cdcdac9e325bc111ca3d4de6db63f76dd33da2e34c880da3d6bd49ae72d294cfbe7995f49aafd450986b9390d6cd1a89773efee792ee4f4514350b595a9b3ea0aebfe5f3f76c33fa438c4df45b384456be94581d32b358b9cff2b1e247f3b8629858e192362355228902ad97107575ab73c9af9e9813225e6d861815483360d7727b50e99ba8188b239ec14b4bd5fdd160a0d63c9a0280a12cd69bea1cd1d4353068d80773ae8a3d3757ea4c0685df4ffa984b580f14b9b796c0cb7a1222461d28123ce7e872b482a424bab201df64fd4ebbdc89ef17f41e8f3eb5b3baff59bbf385dac6d6909c2c9d349ab5178c4eb528315af091aa6e3aa1adb9184be03d13067f8436fddbcd740b0c0af75311a20f57893b8c0bf2608791974791bb0d1d27692e1dabed7778dfadcf7837eaf44739d6bb67865a4327fddd741197f64b1e287c0570958a4e43abaad8b8b9d60ebec92b3e12dac376560327d265a25eb7d1e2d32754615b9fa113b3b1a89c3dcc3d944073cde88a9394994d1322a9faee545651fe17bdfeb4f3d665e41f86f64b4a5daaef1d96cb3e7bcbe1e76cb6bf637d7b2e9e3725bba454aef5c6839446fa715cc2906d475e8b7482aa3823bb1e71babf7775bef91528ede8c58fac43979bc0d17be3e9d7a4d3cb4a89cc04ed8ce3ca4b8abea7d821f07527266c504378ba7ef5fd86626ae6c54da8966c35a9b03fe4a510dc6da5fbdb24a3d7179c034e5ab6df4a09019a85863674ae1b8b6ba128e46eb86349cc75783bef727ad83477856235323792bb1db8cf10d16828e1e3aba3fe0b832218e7367dee0fab82c2f6277b7d092feb76c4224156a3f80eefd6f30f70d7a86775c396f0032902cd2ca8f32fe5bc12b01af0e7605582f09b4501377135ca350194b188b58f594d58ceaf745f622382d0b943398f098b1f3f118c10b8e74aab0041bf839347a361f16ab3adaa3090c2abc755577456c696d8186e8808dd4522e2219ecf0fe48324fc09f33900539a8b0ba3303b2ba62ab9e143abdee2be6c74262a7cb85483a9ecb8f3e6817024eea4875b32a5ff731dc2256500ee218c4cdf8c43f650317b4985595b30e4ff49d4901c6fd2fd6171883fcf9bf602cecaf84c3a2f698509962154e3cbbe3bdc62baff83bb83f7c4e21f09d3d2cedb3b57ef77511e0066ebdcb198234723d97a994fe018cab6886a907961cf9b4bb5f258283b9ff3e389f6a80f2db96354101c08b296acdfd387bd5cb254419744ff98816a1d67ef337cde88714b89e0ab31a91a5003d426de40549fcb31f80c38a2c1f98763f43b7e45cd4c303c148adea77193f2c83ba2175ce7a91cf6c47536520033153a99d4f4ef4bc99f739d6338ea8ac99e09e0ead54b95b3291fba15126f8e88fe778c967d11de645d915394516c51627f2d2d1799b0ec162e439127c6fbe17c0d5546303d203418c09fd298ec47b7887cf4226384dc032c369f39f07a1a51f3afa5ed3dbeca44835990425488d65cb9e4b2c8c999b7d9c689d19b83118620a8ebffbfa233b75abf31fc7360888f725f64ce7c6cfa8195ef233c0907cce01cf14872fe7c53bffc51a36318286b2412c9101f6d70668e0845d4dfd9ff1ea581bc26bc422214cdf6285c37defa798d001f04510356d9025d062fd0ccb5b2559a08c41ddf46bbf70884a83e6e5008d3c3c5ca900628ffac52bbf004ab4187d764376a921b41e4b578f7229947c7263a3849995501d875a12c90e673bb108e4a1515d8011e77a4644e2f67b10725731028d020fc081c2006388d57c7e90bbe69c5da8d66c3d392b7d54c9ed3bc10cf265a80835e12b79dd657b6bcf2ca25f175fe004d644b1bfc764660e943dffdcb26959bbaeb3799b82af02cecd81954de5e3b380db3d05788f2ae5d2ad02d3ac002473914e886b046ac05fca455c4fedf05b8ed403fecee058e55546d7de36560e4f398c9e173b15510b271a0cefac8848d37040279727fd919238b7405901bf8dae131d6dbe72a06262d530e5a8eb89f97a9e4fac8f1d6d5b0cf624def174f4a3185fc5e0649f6b2579599d332f28270f8b9b43a934ca67b8bf753daaedd08e142e9f4eb72c79f78452a39a84bb7e74d97b4112edcb87f6ac9b2e76be92de75031948da371df290afa9e5bb101d5fc5dceba03c6b555f42ebf3a66d25204db02d1e72288adc9ad4102edebbbac3010bcd3292c123f705ad958baae5e1b2e11f4f6be89a38a2e13454d7e9437167b1bb329aab5f1a4d41b0900307ce82f33307a5020f453378922673681f6bea34cdc81491c000780eef598a3adf0a6ff74cc4b4f17edb9a3eb799bc96a647a6c63b3e5a74a7c8fdb0f77341e5dd2f2ee0d0b3209f1fcd8521e42e56f74b920e1e6ded3845ff27478cf89bf8c074e2fc574ca88777b8ba17ab1a1af9b39d7ee1170390bb0178562723e8b5a69db39e41ee83e5c9dc9faf2e8e503e101a93337f301bbefa8d5dd5f698174ac7922a3f4e1554528a3ba893804f605eb72a0551ee8f3da537a9d5b0639d3fb7225f7080f53be1dccf24e0bf80f2990de2dfd916fc7082c5c69841089e6484c8635f8090ca8b9c66b11c865547c94246c3ba1ed11b2eb1bba81ab0908d79a774ffd675892e993c9aaf115ecc54bf5d0ca8f179572013946b1f71d254adfe98f013d9cd1cd6880b6aa0331ffce6206e42881586598b2fba2ad23dcbbec8dee60064b51c09d7a2a1a67dd2bf5851694f84e448ccf0aa5c2295d12372c06a9c8aaec8be93ee36ab676067de331551f1b8e1933e69a4b50c3b71ddaa2be19650ea2b3aa9fbc1d932ea3a6356a7f41122b0721d198a70b36f0ca02f28f6eec527b457584eed11d6ec5ae9b9fa4d6b74746018f23c799692303bb24ca78684805409068c3821ae51060128bf789c80f469a3ad0763682b15f76095ca3415f9c67287921698a7bb1d3eac3f3346f1dc7c066547ded3b09acd965193d8deecec925f9b113235987a113aa8b3b848dfc4984889526beb3328c013bf03d1de5604a6464cee908573a025846273b75d914373baf9b98a2d4ed7322c2d0bf3af1795dce7d25d7d6b517fae13611952bbee07987b4dee7196aaeb3bceba7ffbbcee824d956cca681bdaa3ff95526478dad2a1a48db33d966b5fe2131127ed04daf990a8e6543e0b99f87995ffbabf386053ee5b794c5969531de9cf9083a3eb8ed4f34b2b1a72985f3777e727f33399772d2ed9bc7524ecf940fce33eb19f0cc1d488792cf3dca3bd881f6d7ffcff1772a698a015258bf819c60c3ff86512e464b085b3d96bbb3b85ea28b9445273d4359074bd9aa825b728984b99e6a3b9ff21e011fbbee7baac4537698e4517faf9aa379affc844927da08af3e08a1943668d74625a91a76d40e820eab10dbf0574fff521ad8c1042eae17476034c53e22a0667c74ad58934c1c04ededf760f00740212fc56c9aec67668d69e5d9b0b23d6c236a577e717d385897c0ec2d63735 from mtproto.type.Msgs_ack due to TypeError: Cannot read property 'FileType' of undefined
    at __readType (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:31), <anonymous>:45:31)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:31), <anonymous>:21:8)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:30:79)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:33:79)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:29:80)
    at EncryptedMessage.deserialize (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\message\encrypted-message.js:151:89)
    at EncryptedRpcChannel._deserializeResponse (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\encrypted-rpc-channel.js:206:99)
    at C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\rpc-channel.js:64:35
    at onEnd (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\tcp-connection.js:157:13)
    at null._onTimeout (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\tcp-connection.js:143:13) 
[ERROR] Fri, 14 Aug 2015 09:09:08 GMT  net.EncryptedRpcChannel TypeError: Cannot read property 'FileType' of undefined
    at __readType (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:31), <anonymous>:45:31)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:31), <anonymous>:21:8)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:30:79)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:33:79)
    at deserialize (eval at createConstructor (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-tl-node\lib\builder\constructor-builder.js:115:27), <anonymous>:29:80)
    at EncryptedMessage.deserialize (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\message\encrypted-message.js:151:89)
    at EncryptedRpcChannel._deserializeResponse (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\encrypted-rpc-channel.js:206:99)
    at C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\rpc-channel.js:64:35
    at onEnd (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\tcp-connection.js:157:13)
    at null._onTimeout (C:\Users\Yann\Desktop\telegram\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\tcp-connection.js:143:13)
[INFO] Fri, 14 Aug 2015 09:09:08 GMT  net.EncryptedRpcChannel Call of 'mtproto.type.Msgs_ack' took undefinedms

for the parameter, I'm using :

    var inputLocation = new telegramLink.type.InputFileLocation({
        props: {
            volume_id: user.photo_small.volume_id,
            local_id: user.photo_small.local_id,
            secret: user.photo_small.secret
        }
    });

Uncaught Error: Cannot find module lib/utility auth-key.js

Hi all, when I run my app using telegram-mt-node library is throwing this error:

auth-key.js:11 Uncaught Error: Cannot find module "lib/utility"
    at webpackMissingModule (auth-key.js:11)
    at Object.<anonymous> (auth-key.js:11)
    at Object.<anonymous> (auth-key.js:64)
    at __webpack_require__ (bootstrap 2036b553eaf411c3c37c:54)
    at Object.<anonymous> (index.js:7)
    at Object.<anonymous> (index.js:28)
    at __webpack_require__ (bootstrap 2036b553eaf411c3c37c:54)
    at Object.<anonymous> (mtproto.js:12)
    at __webpack_require__ (bootstrap 2036b553eaf411c3c37c:54)
    at Object.436 (directives.module.ts:16)

auth-key.js is inside of telegram-mt-node in the 'auth' folder.
utility.js is the file that I think is trying to find, but the path doesn't seem to fit.
Some has some idea why is this happening?

Download file INPUT_REQUEST_TOO_LONG

When I try to download a file with the getFile command, I get instantly the error :

Error: INPUT_REQUEST_TOO_LONG
    at Client.<anonymous> (C:\....)
    at Client.g (events.js:199:16)
    at Client.emit (events.js:110:17)
    at C:\Users\...\node_modules\telegram.link\lib\utility.js:44:26
    at null._onTimeout (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\encrypted-rpc-channel.js:63:13)
    at Timer.listOnTimeout (timers.js:119:15)

Edit: Same error for getHistory
Edit2: My mistake on this one, sorry ...

Edit3:
For future interested people, you have to manually create some object for some request, like sendMessage/getHistory.

// Sends a text message.
Messages.prototype.sendMessage = function (peer, message, random_id, callback) {
    var Type = tl.TypeBuilder.requireTypeByName('api.type.InputPeerChat');
    var peerValue = new Type();
    peerValue.chat_id = peer.id;

    peer = peerValue;
    utility.callService(api.service.messages.sendMessage, this.client, this.client._channel, callback, arguments);
};

Socket hang up

I got this error many time...

Error: socket hang up
at createHangUpError (_http_client.js:206:15)
at Socket.socketOnEnd (_http_client.js:298:23)
at emitNone (events.js:85:20)
at Socket.emit (events.js:179:7)
at endReadableNT (_stream_readable.js:906:12)
at nextTickCallbackWith2Args (node.js:474:9)
at process._tickCallback (node.js:388:17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.