matrix-org / matrix-appservice-tg

Matrix<->Telegram user-puppeting portal
Apache License 2.0
37 stars 15 forks source link

TypeError: client.messages.getFullChat is not a function #2

Open 14mRh4X0r opened 7 years ago

14mRh4X0r commented 7 years ago

user_mk_portal consistently fails with the following stack trace:

TypeError: client.messages.getFullChat is not a function
at _getClient.then (…/lib/TelegramGhost.js:307:33)
at tryCatcher (…/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (…/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (…/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromiseCtx (…/node_modules/bluebird/js/release/promise.js:606:10)
at Async._drainQueue (…/node_modules/bluebird/js/release/async.js:138:12)
at Async._drainQueues (…/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (…/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
14mRh4X0r commented 7 years ago

For completeness' sake, I'm using node 7.9.0, npm 4.2.0, and this is my dependency tree:

matrix-appservice-tg@0.0.0 …/matrix-appservice-tg
├─┬ @goodmind/telegram.link@0.6.7
│ ├─┬ @goodmind/telegram-mt-node@0.9.16
│ │ ├── bigint-node@1.0.4
│ │ ├── jsbn@0.0.0
│ │ └── node-cryptojs-aes@0.4.0 (git://github.com/enricostara/node-cryptojs-aes.git#55a5ca9a48652870ae6a8c9be0b6e4147754eec1)
│ ├── @goodmind/telegram-tl-node@0.12.6
│ ├── colors@1.1.2
│ ├── es6-promise@2.3.0
│ ├─┬ get-flow@0.3.0
│ │ └─┬ get-log@1.1.5
│ │   └── colors@1.1.2
│ ├─┬ get-log@1.1.5
│ │ ├── buffer-crc32@0.2.13
│ │ ├── colors@1.1.2
│ │ └─┬ debug@2.6.3
│ │   └── ms@0.7.2
│ └─┬ requirish@0.3.0
│   ├─┬ resolve@1.3.2
│   │ └── path-parse@1.0.5
│   └─┬ through2@2.0.3
│     └─┬ readable-stream@2.2.9
│       ├── buffer-shims@1.0.0
│       ├── process-nextick-args@1.0.7
│       ├── string_decoder@1.0.0
│       └── util-deprecate@1.0.2
├── bluebird@3.5.0
├─┬ matrix-appservice-bridge@1.3.7 (git://github.com/matrix-org/matrix-appservice-bridge.git#5c9b204c6b8d5b314f349b64b9529fcdcd98c1a5)
│ ├── bluebird@2.11.0
│ ├── extend@3.0.0
│ ├─┬ jayschema@0.3.1
│ │ └── when@3.4.6
│ ├─┬ js-yaml@3.8.3
│ │ ├─┬ argparse@1.0.9
│ │ │ └── sprintf-js@1.0.3
│ │ └── esprima@3.1.3
│ ├─┬ matrix-appservice@0.3.3
│ │ ├─┬ body-parser@1.12.4
│ │ │ ├── bytes@1.0.0
│ │ │ ├── content-type@1.0.2
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ ├── depd@1.0.1
│ │ │ ├── iconv-lite@0.4.8
│ │ │ ├─┬ on-finished@2.2.1
│ │ │ │ └── ee-first@1.1.0
│ │ │ ├── qs@2.4.2
│ │ │ ├─┬ raw-body@2.0.2
│ │ │ │ └── bytes@2.1.0
│ │ │ └─┬ type-is@1.6.15
│ │ │   └── media-typer@0.3.0
│ │ ├─┬ express@4.12.4
│ │ │ ├─┬ accepts@1.2.13
│ │ │ │ └── negotiator@0.5.3
│ │ │ ├── content-disposition@0.5.0
│ │ │ ├── cookie@0.1.2
│ │ │ ├── cookie-signature@1.0.6
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ ├── escape-html@1.0.1
│ │ │ ├─┬ etag@1.6.0
│ │ │ │ └── crc@3.2.1
│ │ │ ├─┬ finalhandler@0.3.6
│ │ │ │ └─┬ debug@2.2.0
│ │ │ │   └── ms@0.7.1
│ │ │ ├── fresh@0.2.4
│ │ │ ├── merge-descriptors@1.0.0
│ │ │ ├── methods@1.1.2
│ │ │ ├── parseurl@1.3.1
│ │ │ ├── path-to-regexp@0.1.3
│ │ │ ├─┬ proxy-addr@1.0.10
│ │ │ │ ├── forwarded@0.1.0
│ │ │ │ └── ipaddr.js@1.0.5
│ │ │ ├── range-parser@1.0.3
│ │ │ ├─┬ send@0.12.3
│ │ │ │ ├── debug@2.2.0
│ │ │ │ ├── destroy@1.0.3
│ │ │ │ ├── mime@1.3.4
│ │ │ │ └── ms@0.7.1
│ │ │ ├── serve-static@1.9.3
│ │ │ ├── utils-merge@1.0.0
│ │ │ └── vary@1.0.1
│ │ ├─┬ morgan@1.5.3
│ │ │ ├── basic-auth@1.0.4
│ │ │ └─┬ debug@2.2.0
│ │ │   └── ms@0.7.1
│ │ └─┬ request@2.53.0
│ │   ├── aws-sign2@0.5.0
│ │   ├─┬ bl@0.9.5
│ │   │ └─┬ readable-stream@1.0.34
│ │   │   ├── isarray@0.0.1
│ │   │   └── string_decoder@0.10.31
│ │   ├── caseless@0.9.0
│ │   ├─┬ combined-stream@0.0.7
│ │   │ └── delayed-stream@0.0.5
│ │   ├── forever-agent@0.5.2
│ │   ├─┬ form-data@0.2.0
│ │   │ ├── async@0.9.2
│ │   │ └─┬ mime-types@2.0.14
│ │   │   └── mime-db@1.12.0
│ │   ├── hawk@2.3.1
│ │   ├─┬ http-signature@0.10.1
│ │   │ ├── asn1@0.1.11
│ │   │ ├── assert-plus@0.1.5
│ │   │ └── ctype@0.5.3
│ │   ├─┬ mime-types@2.0.14
│ │   │ └── mime-db@1.12.0
│ │   ├── node-uuid@1.4.8
│ │   ├── oauth-sign@0.6.0
│ │   ├── qs@2.3.3
│ │   └── tunnel-agent@0.4.3
│ ├─┬ matrix-js-sdk@0.7.3
│ │ └── olm@2.1.0
│ ├─┬ nedb@1.8.0
│ │ ├── async@0.2.10
│ │ ├── binary-search-tree@0.2.5
│ │ ├─┬ localforage@1.5.0
│ │ │ └─┬ lie@3.0.2
│ │ │   ├─┬ es3ify@0.1.4
│ │ │   │ ├── esprima-fb@3001.1.0-dev-harmony-fb
│ │ │   │ └─┬ jstransform@3.0.0
│ │ │   │   ├── base62@0.1.1
│ │ │   │   ├── esprima-fb@3001.1.0-dev-harmony-fb
│ │ │   │   └── source-map@0.1.31
│ │ │   ├── immediate@3.0.6
│ │ │   ├─┬ inline-process-browser@1.0.0
│ │ │   │ ├─┬ falafel@1.2.0
│ │ │   │ │ ├── acorn@1.2.2
│ │ │   │ │ ├── foreach@2.0.5
│ │ │   │ │ ├── isarray@0.0.1
│ │ │   │ │ └── object-keys@1.0.11
│ │ │   │ └─┬ through2@0.6.5
│ │ │   │   └─┬ readable-stream@1.0.34
│ │ │   │     ├── isarray@0.0.1
│ │ │   │     └── string_decoder@0.10.31
│ │ │   └─┬ unreachable-branch-transform@0.3.0
│ │ │     ├── esmangle-evaluator@1.0.1
│ │ │     ├─┬ recast@0.10.43
│ │ │     │ ├── ast-types@0.8.15
│ │ │     │ ├── esprima-fb@15001.1001.0-dev-harmony-fb
│ │ │     │ ├── private@0.1.7
│ │ │     │ └── source-map@0.5.6
│ │ │     └─┬ through2@0.6.5
│ │ │       └─┬ readable-stream@1.0.34
│ │ │         ├── isarray@0.0.1
│ │ │         └── string_decoder@0.10.31
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ └── underscore@1.4.4
│ ├─┬ nopt@3.0.6
│ │ └── abbrev@1.1.0
│ └─┬ request@2.81.0
│   ├── aws-sign2@0.6.0
│   ├── aws4@1.6.0
│   ├── caseless@0.12.0
│   ├─┬ combined-stream@1.0.5
│   │ └── delayed-stream@1.0.0
│   ├── forever-agent@0.6.1
│   ├─┬ form-data@2.1.4
│   │ └── asynckit@0.4.0
│   ├─┬ har-validator@4.2.1
│   │ ├─┬ ajv@4.11.6
│   │ │ ├── co@4.6.0
│   │ │ └── json-stable-stringify@1.0.1
│   │ └── har-schema@1.0.5
│   ├─┬ hawk@3.1.3
│   │ ├── boom@2.10.1
│   │ ├── cryptiles@2.0.5
│   │ ├── hoek@2.16.3
│   │ └── sntp@1.0.9
│   ├─┬ http-signature@1.1.1
│   │ ├── assert-plus@0.2.0
│   │ ├─┬ jsprim@1.4.0
│   │ │ ├── assert-plus@1.0.0
│   │ │ ├── extsprintf@1.0.2
│   │ │ ├── json-schema@0.2.3
│   │ │ └── verror@1.3.6
│   │ └─┬ sshpk@1.11.0
│   │   ├── asn1@0.2.3
│   │   ├── assert-plus@1.0.0
│   │   ├── bcrypt-pbkdf@1.0.1
│   │   ├─┬ dashdash@1.14.1
│   │   │ └── assert-plus@1.0.0
│   │   ├─┬ ecc-jsbn@0.1.1
│   │   │ └── jsbn@0.1.1
│   │   ├─┬ getpass@0.1.6
│   │   │ └── assert-plus@1.0.0
│   │   ├─┬ jodid25519@1.0.2
│   │   │ └── jsbn@0.1.1
│   │   ├── jsbn@0.1.1
│   │   └── tweetnacl@0.14.5
│   ├── is-typedarray@1.0.0
│   ├── isstream@0.1.2
│   ├── json-stringify-safe@5.0.1
│   ├─┬ mime-types@2.1.15
│   │ └── mime-db@1.27.0
│   ├── oauth-sign@0.8.2
│   ├── performance-now@0.2.0
│   ├── qs@6.4.0
│   ├── safe-buffer@5.0.1
│   ├── stringstream@0.0.5
│   ├── tough-cookie@2.3.2
│   ├── tunnel-agent@0.6.0
│   └── uuid@3.0.1
├─┬ matrix-js-sdk@0.5.6
│ ├── another-json@0.2.0
│ ├── browser-request@0.3.3
│ ├─┬ browserify@10.2.6
│ │ ├── assert@1.3.0
│ │ ├─┬ browser-pack@5.0.1
│ │ │ ├─┬ combine-source-map@0.6.1
│ │ │ │ ├── convert-source-map@1.1.3
│ │ │ │ ├── inline-source-map@0.5.0
│ │ │ │ ├── lodash.memoize@3.0.4
│ │ │ │ └─┬ source-map@0.4.4
│ │ │ │   └── amdefine@1.0.1
│ │ │ ├─┬ through2@1.1.1
│ │ │ │ └─┬ readable-stream@1.1.14
│ │ │ │   ├── isarray@0.0.1
│ │ │ │   └── string_decoder@0.10.31
│ │ │ └── umd@3.0.1
│ │ ├─┬ browser-resolve@1.11.2
│ │ │ └── resolve@1.1.7
│ │ ├─┬ browserify-zlib@0.1.4
│ │ │ └── pako@0.2.9
│ │ ├─┬ buffer@3.6.0
│ │ │ ├── base64-js@0.0.8
│ │ │ ├── ieee754@1.1.8
│ │ │ └── isarray@1.0.0
│ │ ├── builtins@0.0.7
│ │ ├── commondir@0.0.1
│ │ ├─┬ concat-stream@1.4.10
│ │ │ ├─┬ readable-stream@1.1.14
│ │ │ │ ├── isarray@0.0.1
│ │ │ │ └── string_decoder@0.10.31
│ │ │ └── typedarray@0.0.6
│ │ ├─┬ console-browserify@1.1.0
│ │ │ └── date-now@0.1.4
│ │ ├── constants-browserify@0.0.1
│ │ ├─┬ crypto-browserify@3.11.0
│ │ │ ├─┬ browserify-cipher@1.0.0
│ │ │ │ ├─┬ browserify-aes@1.0.6
│ │ │ │ │ └── buffer-xor@1.0.3
│ │ │ │ ├─┬ browserify-des@1.0.0
│ │ │ │ │ └── des.js@1.0.0
│ │ │ │ └── evp_bytestokey@1.0.0
│ │ │ ├─┬ browserify-sign@4.0.4
│ │ │ │ ├── bn.js@4.11.6
│ │ │ │ ├── browserify-rsa@4.0.1
│ │ │ │ ├─┬ elliptic@6.4.0
│ │ │ │ │ ├── brorand@1.1.0
│ │ │ │ │ ├── hash.js@1.0.3
│ │ │ │ │ ├── hmac-drbg@1.0.1
│ │ │ │ │ ├── minimalistic-assert@1.0.0
│ │ │ │ │ └── minimalistic-crypto-utils@1.0.1
│ │ │ │ └─┬ parse-asn1@5.1.0
│ │ │ │   └── asn1.js@4.9.1
│ │ │ ├── create-ecdh@4.0.0
│ │ │ ├─┬ create-hash@1.1.2
│ │ │ │ ├── cipher-base@1.0.3
│ │ │ │ └── ripemd160@1.0.1
│ │ │ ├── create-hmac@1.1.4
│ │ │ ├─┬ diffie-hellman@5.0.2
│ │ │ │ └── miller-rabin@4.0.0
│ │ │ ├── pbkdf2@3.0.9
│ │ │ ├── public-encrypt@4.0.0
│ │ │ └── randombytes@2.0.3
│ │ ├── defined@1.0.0
│ │ ├─┬ deps-sort@1.3.9
│ │ │ └─┬ through2@1.1.1
│ │ │   └─┬ readable-stream@1.1.14
│ │ │     ├── isarray@0.0.1
│ │ │     └── string_decoder@0.10.31
│ │ ├── domain-browser@1.1.7
│ │ ├─┬ duplexer2@0.0.2
│ │ │ └─┬ readable-stream@1.1.14
│ │ │   ├── isarray@0.0.1
│ │ │   └── string_decoder@0.10.31
│ │ ├── events@1.0.2
│ │ ├─┬ glob@4.5.3
│ │ │ ├─┬ inflight@1.0.6
│ │ │ │ └── wrappy@1.0.2
│ │ │ ├─┬ minimatch@2.0.10
│ │ │ │ └─┬ brace-expansion@1.1.7
│ │ │ │   ├── balanced-match@0.4.2
│ │ │ │   └── concat-map@0.0.1
│ │ │ └── once@1.4.0
│ │ ├─┬ has@1.0.1
│ │ │ └── function-bind@1.1.0
│ │ ├── htmlescape@1.1.1
│ │ ├─┬ http-browserify@1.7.0
│ │ │ └── Base64@0.2.1
│ │ ├── https-browserify@0.0.1
│ │ ├── inherits@2.0.3
│ │ ├─┬ insert-module-globals@6.6.3
│ │ │ ├── is-buffer@1.1.5
│ │ │ ├─┬ lexical-scope@1.2.0
│ │ │ │ └── astw@2.2.0
│ │ │ └─┬ through2@1.1.1
│ │ │   └─┬ readable-stream@1.1.14
│ │ │     ├── isarray@0.0.1
│ │ │     └── string_decoder@0.10.31
│ │ ├── isarray@0.0.1
│ │ ├─┬ JSONStream@1.3.1
│ │ │ ├── jsonparse@1.3.0
│ │ │ └── through@2.3.8
│ │ ├─┬ labeled-stream-splicer@1.0.2
│ │ │ ├── isarray@0.0.1
│ │ │ └─┬ stream-splicer@1.3.2
│ │ │   ├── isarray@0.0.1
│ │ │   ├─┬ readable-stream@1.1.14
│ │ │   │ └── string_decoder@0.10.31
│ │ │   └── through2@1.1.1
│ │ ├─┬ module-deps@3.9.1
│ │ │ ├── detective@4.5.0
│ │ │ ├─┬ readable-stream@1.1.14
│ │ │ │ ├── isarray@0.0.1
│ │ │ │ └── string_decoder@0.10.31
│ │ │ ├─┬ stream-combiner2@1.0.2
│ │ │ │ └─┬ through2@0.5.1
│ │ │ │   ├─┬ readable-stream@1.0.34
│ │ │ │   │ ├── isarray@0.0.1
│ │ │ │   │ └── string_decoder@0.10.31
│ │ │ │   └── xtend@3.0.0
│ │ │ └── through2@1.1.1
│ │ ├── os-browserify@0.1.2
│ │ ├─┬ parents@1.0.1
│ │ │ └── path-platform@0.11.15
│ │ ├── path-browserify@0.0.0
│ │ ├── process@0.11.9
│ │ ├── punycode@1.4.1
│ │ ├── querystring-es3@0.2.1
│ │ ├─┬ read-only-stream@1.1.1
│ │ │ ├─┬ readable-stream@1.1.14
│ │ │ │ ├── isarray@0.0.1
│ │ │ │ └── string_decoder@0.10.31
│ │ │ └─┬ readable-wrap@1.0.0
│ │ │   └─┬ readable-stream@1.1.14
│ │ │     ├── isarray@0.0.1
│ │ │     └── string_decoder@0.10.31
│ │ ├─┬ readable-stream@1.1.14
│ │ │ └── core-util-is@1.0.2
│ │ ├─┬ shasum@1.0.2
│ │ │ ├─┬ json-stable-stringify@0.0.1
│ │ │ │ └── jsonify@0.0.0
│ │ │ └── sha.js@2.4.8
│ │ ├── shell-quote@0.0.1
│ │ ├─┬ stream-browserify@1.0.0
│ │ │ └─┬ readable-stream@1.1.14
│ │ │   ├── isarray@0.0.1
│ │ │   └── string_decoder@0.10.31
│ │ ├── string_decoder@0.10.31
│ │ ├── subarg@1.0.0
│ │ ├─┬ syntax-error@1.3.0
│ │ │ └── acorn@4.0.11
│ │ ├── through2@1.1.1
│ │ ├── timers-browserify@1.4.2
│ │ ├── tty-browserify@0.0.0
│ │ ├─┬ url@0.10.3
│ │ │ ├── punycode@1.3.2
│ │ │ └── querystring@0.2.0
│ │ ├─┬ util@0.10.3
│ │ │ └── inherits@2.0.1
│ │ ├─┬ vm-browserify@0.0.4
│ │ │ └── indexof@0.0.1
│ │ └── xtend@4.0.1
│ ├── olm@1.0.0
│ └── q@1.5.0
└── minimist@1.2.0
leonerd commented 7 years ago

Ah; that'll be because this code needs my custom-modified version of telegram.link.

Or rather, did at the time you wrote that bug. I've since totally rewritten the telegram end of things so it now uses telegram-mtproto instead.

However - at this stage the code is still far too early to really be relying on. It's a total PoC that isn't really useable for any realworld use-case yet.