Commit graph

473 commits

Author SHA1 Message Date
teidesu
d0218ece42 fix(client): fixed codegen for new ts 2022-04-29 17:32:07 +03:00
teidesu
44e6ffd368 fix(tl): insert true flags after flags field, support multiple flags fields, updated tests 2022-04-29 16:36:41 +03:00
teidesu
916c41e70c build(codegen): refactored reader codegen (removed the need in additional object), added tests for multiple flags fields
i honestly don't know why i did what i did, it's such an over-complication, lol.
2022-04-29 16:13:07 +03:00
teidesu
a1ea1315df tl: updated to layer 140 2022-04-28 17:23:44 +03:00
teidesu
2289cc690d build: migrated to pnpm, updated and cleaned up deps 2022-04-28 16:58:09 +03:00
teidesu
9493759572 build: updated to layer 139
didn't add any new layers' features, only bumped layer
2022-04-01 22:17:10 +03:00
teidesu
ec736f8590 some changes
i've been wanting to name a commit like this for my entire life, lol. seriously though, a lot has changed:
 - extracted TL-related stuff to `@mtcute/tl-utils` and `@mtcute/tl-runtime`, rewrote codegen in TS
 - updated to layer 134, moved to int64 identifiers
 - rewritten networking (mtproto), rewritten updates handling
 - *lots* of refactoring

 still a very early version though, there are a lot of improvements to be made, but at least it runs, lol

 also tl-reference will not be updated anytime soon because i want to rewrite it
2021-11-23 00:03:59 +03:00
teidesu
a834fbfa8d refactor(core): moved to PollardRhoBrent for PQ factorization (thanks @mytecor!)
also removed leemon from deps since it's no longer used
2021-09-23 23:11:43 +03:00
teidesu
49eda8f0e3 fix(core): fix bare types and mt_message writing 2021-08-19 23:09:44 +03:00
teidesu
9b5ca0cb2a refactor: improved logging, moved to custom logger instead of debug 2021-08-14 12:57:26 +03:00
teidesu
64aae43572 fix(core): support caching peers from array results 2021-08-14 12:37:22 +03:00
teidesu
4b22ee5b25 rename back to mtcute
idk lol
2021-08-05 20:38:24 +03:00
teidesu
b7751f0a57 fix: various fixes, improved updates handing 2021-08-05 20:14:19 +03:00
teidesu
8504e3bf14 fix(client): fixed qts fetching and storing 2021-08-05 14:23:51 +03:00
teidesu
42d7a2286c fix(core): do not save storage after caching peers 2021-08-05 14:23:18 +03:00
teidesu
6be71c3572 feat(client): support updateBotStopped 2021-08-04 13:23:39 +03:00
teidesu
c943391e15 fix(client): update local pts/qts before dispatching the update 2021-08-04 13:16:08 +03:00
teidesu
a3cf0c526a fix(client): reworked updates, added support for qts 2021-08-04 12:58:57 +03:00
teidesu
781384cb86 fix(sqlite): removed unique idx on phone, optimized queries 2021-08-04 12:58:17 +03:00
teidesu
860a0e623f fix(client): fixed online status for bots 2021-08-04 12:56:35 +03:00
teidesu
37398d1080 fix(client): file: prefix in fileName attribute 2021-08-02 14:46:12 +03:00
teidesu
852af9ffab fix(mtproxy): fixed types 2021-07-30 17:47:21 +03:00
teidesu
a8d3543e64 build: preparing for publish, moved to strict typescript, fixed some stuff 2021-07-30 17:40:50 +03:00
teidesu
1cf9929e3f fix(core): fixed test servers, fixed tests, slight refactor 2021-07-27 15:32:18 +03:00
teidesu
d4f07aa07c feat(tl): added types for reactions, also added ability to augment schema from file 2021-07-25 23:19:12 +03:00
teidesu
2f1c8548a0 build: renamed to mtqt 2021-07-25 21:03:40 +03:00
teidesu
7775ff4eaa feat(client): replyToThreadId field for Message 2021-07-25 21:01:38 +03:00
teidesu
7f112f51a2 fix(core): updated for newer mtproto schema 2021-07-25 15:44:55 +03:00
teidesu
cc8c974e23 feat(client): getDiscussionMessage method 2021-07-25 14:00:51 +03:00
teidesu
b03e2f4f0b fix(tl): updated schema
god i love when telegram changes schema in a backwards-incompatible way and doesn't change layer number because they dont give a slightest fuck on third party mtproto implementations
2021-07-24 23:21:52 +03:00
teidesu
87de39a6fb fix(client): gallery defaults to true for answerInlineQuery 2021-07-24 22:43:14 +03:00
teidesu
f3e7de5c8c feat(core): override layer number 2021-07-24 17:00:20 +03:00
teidesu
cb2df91187 fix(client): optional params in sendCopy 2021-07-23 23:09:32 +03:00
teidesu
abe6cef377 fix(html): added htm alias for prettier users 2021-07-23 23:03:03 +03:00
teidesu
0525a59ab3 fix(client): better inspection of buffers 2021-07-22 01:54:00 +03:00
teidesu
4b417afd81 feat(client): isValidSticker field 2021-07-22 01:47:06 +03:00
teidesu
4c717ffc63 fix(voice): proper handling of waveforms 2021-07-22 01:46:31 +03:00
teidesu
96d133dd2f fix(markdown): proper handling of non-link [] groups 2021-07-20 03:26:00 +03:00
teidesu
3b523598ad build: changed license to lgplv3 2021-07-19 03:57:47 +03:00
teidesu
8c62b56acc fix(node): cli input for start() method, not run() 2021-07-18 22:08:50 +03:00
teidesu
199e0a2a7d fix(dispatcher): adding raw handlers
removed from codegen and forgot to add in code, i'm dumb 🤷
2021-07-17 19:08:13 +03:00
teidesu
aa09262aae fix(client): proper handling of last messages 2021-07-17 18:46:42 +03:00
teidesu
627fdbed2f refactor(dispatcher): big refactor, moved updates parsing to client, separated raw updates from parsed, moved Conversation to client package 2021-07-17 17:26:31 +03:00
teidesu
8fb099cfeb fix(core): proper browser support
not much really, fixed exports for webpack, fixed binary mode for websocket
2021-07-16 04:31:04 +03:00
teidesu
5b9ddc1f7b refactor(dispatcher): UpdateInfo<...> to ParsedUpdate 2021-07-14 22:34:03 +03:00
teidesu
6d8c7fee78 refactor: less obscure transport names 2021-07-14 21:08:13 +03:00
teidesu
c8c0b4a320 fix(client): export defaultDcs 2021-07-14 20:58:27 +03:00
teidesu
a7f7e245d8 fix(node): changed default session file name 2021-07-14 16:35:53 +03:00
teidesu
244948149a fix(tl): updated errors 2021-07-14 16:34:33 +03:00
teidesu
0a39d8a2d5 fix(client): fixed imports 2021-07-14 16:34:15 +03:00
teidesu
3fcdd03877 feat(dispatcher): lastMessage and lastReceivedMessage getters for Conversation 2021-07-10 16:12:31 +03:00
teidesu
66e623f21d docs(dispatcher): improved docs for Conversation 2021-07-10 16:05:20 +03:00
teidesu
b9b2b9f6ba feat(dispatcher): Conversation class 2021-07-10 15:10:43 +03:00
teidesu
2f8b3472d1 feat(client): deleteScheduledMessages method 2021-07-10 15:00:40 +03:00
teidesu
ca1e5c9efa feat(client): sendScheduled and getScheduledMessages methods 2021-07-10 01:19:59 +03:00
teidesu
a33548e790 fix(client): correct sending of newly uploaded files in media groups 2021-07-10 01:09:49 +03:00
teidesu
b38f2cd6ae fix(client): hide inputPhoto from inspection 2021-07-10 00:54:43 +03:00
teidesu
6acb638c6a fix(client): correct handling of multiple peers in getPeerDialog
i swear it worked. idk how.
2021-07-09 23:34:46 +03:00
teidesu
300f10074a feat(client): getPeerDialogs method 2021-07-09 22:50:04 +03:00
teidesu
77d597e4db feat(dispatcher): history read update
also fixed imports/exports
2021-07-09 19:41:02 +03:00
teidesu
817eb3aa8d fix(client): mention and permanentMention now return formatted string with parse mode
also slightly improved docs on permanentMention
2021-07-09 17:00:45 +03:00
teidesu
d611f91f19 feat: parse mode template literals override default/passed parse mode 2021-07-09 16:39:45 +03:00
teidesu
be8ffe5b5b feat(dispatcher): text-related filters (equals, contains, starts/ends with) 2021-07-09 01:50:39 +03:00
teidesu
c33646943c fix(dispatcher): middleware and event emitter related fixes 2021-07-09 01:49:53 +03:00
teidesu
28c70a89ba fix(client): correct handling of pts in updateShortSentMessage
i am fucking stupid and can't read my own code
2021-07-09 01:46:37 +03:00
teidesu
967de3391d fix(client): fixed media-related bound methods, added method for sending media groups 2021-07-08 17:22:18 +03:00
teidesu
231b10d8cd feat(dispatcher): made Dispatcher an EventEmitter
this adds a second option for updates dispatching which is not governed by any propagation or stuff.
useful for advanced use-cases.
2021-07-07 23:36:57 +03:00
teidesu
7c3f5cafa6 feat(dispatcher): deeplink filter 2021-07-06 18:38:06 +03:00
teidesu
c2130dec9f build(tl): updated to layer 131 2021-07-06 18:02:26 +03:00
teidesu
69fffd468c fix(client): use nextRate in searchGlobal 2021-07-06 16:50:46 +03:00
teidesu
afd6f54e54 feat(client): mustReply parameter 2021-07-06 02:36:20 +03:00
teidesu
d5e595d7cf fix: added MessageNotFoundError, improved getMessages, fixed methods that use it 2021-07-06 02:24:58 +03:00
teidesu
36ba4c3b87 feat(client): bot keyboard builder 2021-07-06 01:11:06 +03:00
teidesu
6215892090 fix(tl): fix optionals generation
i am fucking dumb
2021-07-05 22:46:36 +03:00
teidesu
ed0198f057 fix(tl): made randomId field required
i wanted to make it auto-fill itself but decided it would be too much hassle
2021-07-05 20:43:42 +03:00
teidesu
8b6d587399 fix(client): improved own username handling 2021-07-05 17:26:30 +03:00
teidesu
be506f5ed7 feat(client): stickerset thumbnails
also fixed a few issues with file ids for thumbnails
2021-07-05 16:06:49 +03:00
teidesu
0d32731b7a fix(file-id): invalid type for stickerSetThumbnailVersion 2021-07-05 15:39:06 +03:00
teidesu
82db8453fc feat(dispatcher): basic middleware functionality 2021-07-03 16:42:41 +03:00
teidesu
17c2edde7e fix(client): further improved handling of updateShortSentMessage 2021-07-03 01:21:54 +03:00
teidesu
54f95bcaa6 fix(client): handle users index for sendText short update 2021-07-03 00:23:41 +03:00
teidesu
e4b1932ca6 feat(client): force text mention for .mention() 2021-07-02 21:32:12 +03:00
teidesu
9ed51fd996 fix: made .mention() work with tagged templates 2021-07-02 21:28:30 +03:00
teidesu
733a1ab84f feat: html and markdown tagged template helpers 2021-07-02 20:20:29 +03:00
teidesu
03cb8fd5e8 docs(client): updated docs for createStickerSet 2021-07-02 19:52:14 +03:00
teidesu
14d2f9ff08 feat(client): inputPhoto getter for Photo 2021-07-02 17:10:57 +03:00
teidesu
23bc4b5e30 feat(client): uploadMedia method 2021-07-02 17:04:45 +03:00
teidesu
94a65b1a74 feat(client): set profile photo from file id or input photo 2021-07-02 16:27:08 +03:00
teidesu
d0e3ebda80 refactor: use type discrimination for media types in Message
this should result in cleaner code without the need to import everything
2021-07-01 22:20:16 +03:00
teidesu
abbebeddf9 feat(client): isGroup getter for Chat 2021-06-30 02:01:11 +03:00
teidesu
2220371efd feat(dispatcher): conditional error propagation to client 2021-06-27 23:59:04 +03:00
teidesu
80e889d95f fix(client): inline mode related improvements 2021-06-27 23:57:27 +03:00
teidesu
596362bb89 fix(tl): automatically resolve conflicts if layer is different 2021-06-27 15:06:42 +03:00
teidesu
ef68b414ad fix(tl): correctly handle constructors without id 2021-06-27 01:08:38 +03:00
teidesu
58f73b6709 fix(client): improved inspection 2021-06-27 00:27:39 +03:00
teidesu
274a05dc9e fix(node): made .run sync
forgot the entire idea of .run, lol. i should get some sleep ig
2021-06-26 23:51:48 +03:00
teidesu
c826c831e2 fix(client): made params optional in InlineQuery#answer 2021-06-26 23:45:59 +03:00
teidesu
0ea953732b fix(dispatcher): removed @internal from non-filtered on* methods
i probably am in fact stupid
2021-06-26 23:34:08 +03:00
teidesu
66c4b0e0b0 fix: updated tl version in the rest of the packages
webstorm for some fucking reason decided not to save some package.json files lol
2021-06-26 23:13:40 +03:00
teidesu
e7f15ec009 fix(node): close readline instance to avoid hanging processes 2021-06-26 22:57:00 +03:00
teidesu
42f6ed1357 feat(client): bot commands related methods 2021-06-26 19:45:06 +03:00
teidesu
f520470fad fix(file-id): updated file id computation for layer 130 2021-06-26 17:13:32 +03:00
teidesu
090f42e559 build(tl): updated to layer 130 2021-06-26 17:13:13 +03:00
teidesu
1abfc56474 feat(tl): merge schemas from tdlib and tdesktop 2021-06-26 16:22:19 +03:00
teidesu
cf7f8e74ea feat(dispatcher): throttle now actually throttles, and does not throw an error 2021-06-25 22:37:26 +03:00
teidesu
54e5374273 fix(client): remove empty from inspection 2021-06-24 20:15:12 +03:00
teidesu
00d9228c1c feat(dispatcher): provide custom default state for wizard 2021-06-24 01:12:20 +03:00
teidesu
a2ad4128f1 fix(dispatcher): default state for merge 2021-06-24 01:12:00 +03:00
teidesu
3c79c56879 fix(client): made _normalizeInputFile and _normalizeInputMedia public 2021-06-24 00:15:12 +03:00
teidesu
bf84556776 fix(client): made _handleUpdate method public 2021-06-24 00:13:10 +03:00
teidesu
028e331cb6 fix(markdown): properly handle square brackets that are not links 2021-06-23 17:08:23 +03:00
teidesu
c3ee177b4c fix(sqlite): parse entity from binary before returning
i am a bit stupid~
2021-06-23 17:08:09 +03:00
teidesu
c8dae335e8 feat: vacuum storage to reduce its size 2021-06-20 18:18:06 +03:00
teidesu
b45cc0df69 feat: rate limiting 2021-06-20 17:54:28 +03:00
teidesu
6b622f8399 fix(dispatcher): exported defaultStateKeyDelegate 2021-06-20 03:17:04 +03:00
teidesu
481f0db129 fix(dispatcher): provide state type information to filters 2021-06-20 02:52:19 +03:00
teidesu
5e7706a5a3 feat(dispatcher): callback data builder 2021-06-20 01:29:40 +03:00
teidesu
2ee5f1e279 fix(node): export html and md parsers 2021-06-20 00:43:31 +03:00
teidesu
92233d6d09 fix(client): do not pass empty message if no edit 2021-06-20 00:42:49 +03:00
teidesu
73d9a850ee fix(client): exported MessageAction and MessageMedia 2021-06-19 23:41:29 +03:00
teidesu
035435900b feat(dispatcher): filters.start filter for /start 2021-06-19 20:59:35 +03:00
teidesu
fbb5d7005f feat(dispatcher): support regex commands 2021-06-19 20:53:51 +03:00
teidesu
2682392d26 feat(client): mention() method for Chat
mostly done to unify User | Chat type interface and further simplify usage of msg.sender
2021-06-19 20:25:30 +03:00
teidesu
1238e7c32c fix(dispatcher): improved typings for action filter 2021-06-19 20:11:06 +03:00
teidesu
f44bf77a07 feat(dispatcher): support usernames and me/self in userId and chatId filters 2021-06-19 19:53:31 +03:00
teidesu
f2671d3c0b fix(dispatcher): handle commands that contain bot username 2021-06-18 19:21:22 +03:00
teidesu
1371f935cd fix(client): do not dispatch empty messages
this happens when the difference contains messages from other bots that the current bot can't see.
2021-06-18 19:20:58 +03:00
teidesu
645bd46e9d fix(markup): support link starting with // 2021-06-18 18:06:39 +03:00
teidesu
e3b2f747a9 feat(client): override caption and entities for sendMedia 2021-06-18 17:44:52 +03:00
teidesu
cbb8549068 fix(client): params type for answerMedia 2021-06-18 17:33:39 +03:00
teidesu
08517810fc fix(node): do not add handlers if bot token is passed 2021-06-18 17:16:10 +03:00
teidesu
b4716f321b tests(core): added fuzz tests for auth_key 2021-06-16 18:21:54 +03:00
teidesu
5849ce0e1b fix(core): better handling for additional connections 2021-06-16 18:21:17 +03:00
teidesu
77022e29c9 tests(core): added e2e and fuzzing tests 2021-06-15 03:12:22 +03:00
teidesu
0a45f5e71a fix(core): check for correct padding 2021-06-15 03:11:52 +03:00
teidesu
9928a9156a fix(client): redundant resends 2021-06-15 03:11:11 +03:00
teidesu
6c8eeb01d2 feat(dispatcher): wizard scene 2021-06-14 19:01:02 +03:00
teidesu
257f5392ea refactor(dispatcher): use enum instead of symbols for propagation 2021-06-14 18:58:07 +03:00
teidesu
707e317e16 stuff 2021-06-12 01:13:02 +03:00
teidesu
46317e8ddb fix(dispatcher): optimized every & some functions, improved types for them 2021-06-11 16:39:27 +03:00
teidesu
079d65b38d build: preparing for publish, day 6
i am slowly descending to madness

bugs fixed, stuff exported, and maybe something else
2021-06-10 02:31:48 +03:00
teidesu
c46f113f1f build: preparing for publish x5
at this point i'm way too tired to describe what happened.
stuff added, stuff removed, stuff fixed, i don't even remember anymore lol
2021-06-09 01:47:22 +03:00
teidesu
bcce752dfd build: preparing for publish x4
at this point i'm too tired to describe what happened
2021-06-08 00:37:13 +03:00
teidesu
7a0de134ba feat(dispatcher): local error handling 2021-06-07 23:59:17 +03:00
teidesu
8cbd6e14c8 build: prepare to publish x3
various package json fixes, improved node meta-package
2021-06-07 18:32:29 +03:00
teidesu
21d69e466e fix: handle private chat sender 2021-06-07 15:27:16 +03:00
teidesu
280c9f51aa build: preparing to publish (part 2)
fixed imports, package.json files, improved package generation for certain packages, and more (i'm too lazy to describe all the magic that i've done)
2021-06-06 19:23:43 +03:00
teidesu
ae2dbcf03f build: fixed scripts, eslintignore, fixed linter warnings and re-formatted with prettier 2021-06-06 15:20:41 +03:00
teidesu
5e05b099ed build: moved tl-reference to top layer to avoid cluttering yarn.lock with frontend deps 2021-06-06 15:02:06 +03:00
teidesu
1d21cd5e65 build: preparing to publish 2021-06-06 00:37:44 +03:00