Commit graph

379 commits

Author SHA1 Message Date
teidesu
9b5ca0cb2a refactor: improved logging, moved to custom logger instead of debug 2021-08-14 12:57:26 +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
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
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
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
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
cc8c974e23 feat(client): getDiscussionMessage method 2021-07-25 14:00:51 +03:00
teidesu
87de39a6fb fix(client): gallery defaults to true for answerInlineQuery 2021-07-24 22:43:14 +03:00
teidesu
cb2df91187 fix(client): optional params in sendCopy 2021-07-23 23:09:32 +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
3b523598ad build: changed license to lgplv3 2021-07-19 03:57:47 +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
c8c0b4a320 fix(client): export defaultDcs 2021-07-14 20:58:27 +03:00
teidesu
0a39d8a2d5 fix(client): fixed imports 2021-07-14 16:34:15 +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
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
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
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
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
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
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
80e889d95f fix(client): inline mode related improvements 2021-06-27 23:57:27 +03:00
teidesu
58f73b6709 fix(client): improved inspection 2021-06-27 00:27:39 +03:00
teidesu
c826c831e2 fix(client): made params optional in InlineQuery#answer 2021-06-26 23:45:59 +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
54e5374273 fix(client): remove empty from inspection 2021-06-24 20:15:12 +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
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
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
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
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
77022e29c9 tests(core): added e2e and fuzzing tests 2021-06-15 03:12:22 +03:00
teidesu
707e317e16 stuff 2021-06-12 01:13:02 +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
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
2cd443d6d1 feat(client): string sessions 2021-06-05 20:25:08 +03:00
teidesu
68ea4080df feat(core): handle AUTH_KEY_UNREGISTERED error 2021-06-05 18:56:43 +03:00
teidesu
2c36d9cbf2 refactor(client): split reply* methods to reply* and answer* 2021-05-31 23:12:35 +03:00
teidesu
d70ccaa1ad fix(client): improved channels difference loading 2021-05-31 22:50:39 +03:00
teidesu
1e9c4de86d fix(client): do not call toJSON for buffers 2021-05-31 22:36:48 +03:00
teidesu
2daf497cc4 feat: updated to TL layer 129 2021-05-31 22:36:26 +03:00
teidesu
d50a25eab9 feat(client): support comments and reply threads 2021-05-27 15:57:05 +03:00
teidesu
a0294b9a64 feat(dispatcher): fsm and scenes 2021-05-27 01:02:31 +03:00
teidesu
3845153871 docs(client): added info about "send when online" scheduled messages 2021-05-25 11:58:14 +03:00
teidesu
76f078d931 fix(client): fixed imports in inline-utils.ts 2021-05-23 21:16:08 +03:00
teidesu
4599272c7c fix(client): do not catch up channels if disabled 2021-05-23 14:02:44 +03:00
teidesu
1b3f02f5f4 refactor: use Buffer.isBuffer 2021-05-23 13:42:38 +03:00
teidesu
649f86f3ed fix(client): avoid secondary db calls in resolvePeer 2021-05-22 18:58:17 +03:00
teidesu
c228085bfe feat(client): improved min peers and short updates handling 2021-05-22 14:41:11 +03:00
teidesu
c3fce178b6 feat: only update changed updates state (i.e. dont save pts if it hasnt changed) 2021-05-21 00:24:54 +03:00
teidesu
2660120e8f feat(core): support seq in updates 2021-05-19 21:21:12 +03:00
teidesu
bdaa571777 feat(client): only send modified channel pts to storage 2021-05-19 17:37:11 +03:00
teidesu
82fb3d7e44 refactor: moved async lock to core and exported it 2021-05-16 23:05:53 +03:00
teidesu
633f1fdf4d feat(client): editAdminRights method 2021-05-16 14:55:17 +03:00
teidesu
32ef1c59ad fix(client): handle updates in getNearbyChats method 2021-05-16 14:46:40 +03:00
teidesu
9bee00e584 fix(client): sendMediaGroup returns all sent messages 2021-05-16 14:43:23 +03:00
teidesu
e6e28399b0 refactor: prefer switches over ifs when possible 2021-05-16 14:32:36 +03:00
teidesu
f9336841ab feat(client): support inline message media contact 2021-05-16 13:49:32 +03:00
teidesu
d75071c284 refactor(client): made builder methods modify existing object instead of spreading, and also improved docs 2021-05-16 13:44:59 +03:00
teidesu
6e86ca464a feat(client): getCallbackAnswer method 2021-05-16 12:59:00 +03:00
teidesu
c092347b63 fix(client): fixed game highscore exports 2021-05-16 02:52:51 +03:00
teidesu
fd1897651b feat(client): game high scores related methods 2021-05-16 02:21:59 +03:00
teidesu
b29883116b refactor(client): moved handling of inline messages to a separate method 2021-05-16 02:09:51 +03:00
teidesu
97ba7652ff refactor: use constructor check instead of instanceof where possible
this might just have introduced a bunch of errors, but ill test later
2021-05-15 21:17:49 +03:00
teidesu
f7e8051a94 refactor(client): made resolvePeer return InputPeer, and removed now redundant normalizeTo calls 2021-05-15 20:25:59 +03:00
teidesu
b634aa01eb feat(client): markChatUnread method
now i might be stupid
2021-05-12 22:37:09 +03:00
teidesu
482c71690d feat(client): markChatUnread method 2021-05-12 22:36:03 +03:00
teidesu
8cf4ce5533 feat(client): readHistory method and related bound methods 2021-05-12 22:31:29 +03:00
teidesu
4f40571455 feat(client): unpinAllMessages method 2021-05-12 22:18:08 +03:00
teidesu
79a8962284 feat(client): chat restrictions related methods 2021-05-12 22:07:00 +03:00
teidesu
30253c83c7 refactor(client): normalized MtCuteTypeAssertionError errors 2021-05-12 18:16:50 +03:00
teidesu
9be7b0d6c9 refactor: prefer switches to else-if chains 2021-05-12 17:58:45 +03:00
teidesu
f19fdf76b8 refactor(client): improve resolvePeer normalization 2021-05-11 23:21:35 +03:00
teidesu
8b3caeb3d0 feat(client): resolvePeerMany method 2021-05-11 22:43:11 +03:00
teidesu
5b3d7a3b09 refactor(client): normalized boolean fields 2021-05-11 22:10:14 +03:00
teidesu
d8cd13fd60 refactor(client): use ReadonlyArray for getter return types 2021-05-11 22:02:00 +03:00
teidesu
0f1edcfcf7 refactor: use UsersIndex and ChatsIndex types instead of bare record types 2021-05-11 21:46:59 +03:00
teidesu
0525800133 feat(client): getNearbyChats method 2021-05-10 22:51:35 +03:00
teidesu
f0eb95e4ba feat(client): chat event logs
also added support for chat locations and fixed ts errors
2021-05-10 21:51:25 +03:00
teidesu
4ad562bf06 fix(client): message media and action parsing 2021-05-10 17:57:12 +03:00
teidesu
db0d5f51e4 feat(dispatcher): filtering for service messages, by chat type and for text-only msgs 2021-05-10 17:30:05 +03:00
teidesu
9df635ad92 refactor(client): extract message media to separate type and file 2021-05-10 17:04:46 +03:00
teidesu
fe0f0849a4 refactor(client): extract message action to separate type and file 2021-05-10 16:36:16 +03:00
teidesu
e28ec79110 feat(client): support more service messages 2021-05-10 16:29:33 +03:00
teidesu
f3e4a34eab feat(client): deleteUserHistory method, also properly handle messages.affectedHistory
i suppose? this is an incredibly bad hack but i guess it works so who cares?
2021-05-10 14:27:57 +03:00
teidesu
c678a0ef6a fix(client): handle channel difference properly 2021-05-10 14:21:46 +03:00
teidesu
ded667b332 feat(client): chat invite links related methods 2021-05-10 00:35:29 +03:00
teidesu
ac0ddc5c6d feat(client): support seamless login for bots
also slightly improved docs for BotKeyboard
2021-05-09 20:41:54 +03:00
teidesu
cae7f90c57 fix(core): payload size limit 2021-05-09 19:34:25 +03:00
teidesu
df84137391 feat(client): get messages inside message groups 2021-05-09 18:29:33 +03:00
teidesu
87a7df669a feat(client): user related methods 2021-05-09 14:35:58 +03:00
teidesu
192c0f773e feat(client): control 2fa password 2021-05-09 14:35:47 +03:00
teidesu
0c9dfa172d feat(client): stop geolive messages 2021-05-09 12:03:45 +03:00
teidesu
b845864663 feat(client): sendCopy method 2021-05-08 17:54:18 +03:00
teidesu
cb01d8250e feat(client): renamed inputMediaTl to inputMedia and added it to every kind of media
also fixed imports/exports
2021-05-08 17:53:59 +03:00
teidesu
002d949a13 feat: user status and typing related methods and updates 2021-05-08 16:35:25 +03:00
teidesu
8a0c9984b5 feat(client): closePoll method 2021-05-08 13:19:37 +03:00
teidesu
9df884e667 feat(client): sendVote method 2021-05-08 12:36:15 +03:00
teidesu
d36c1781bd feat(dispatcher): support poll related updates
also fixed a few type and export issues, and changed poll option generation to match tdlib and others
2021-05-07 15:37:17 +03:00
teidesu
6db771e3da feat(client): a lot of changes
- support web documents
 - support previews for locations
 - unify media interfaces, merge everything into sendMedia
 - support invoices, polls, venues (both sending and receiving)
2021-05-07 14:26:29 +03:00
teidesu
b157b52ff6 feat(client): setStickerSetThumb method 2021-05-06 12:11:09 +03:00
teidesu
09064bb084 fix(client): sticker set negative indexes 2021-05-06 11:54:10 +03:00
teidesu
bbb8b20420 feat(client): sticker set methods for bots, and overall better sticker support 2021-05-05 23:26:28 +03:00
teidesu
5ea2ed67d7 fix(client): support for external media for uploadMedia in normalizeInputMedia 2021-05-05 19:59:08 +03:00
teidesu
b409292497 fix(client): support for uploaded media in editInlineMessage
thanks to @pacificescape for pointing out messages.uploadMedia method
2021-05-05 18:43:02 +03:00
teidesu
d841188149 fix(core): only switch dc for primary connection 2021-05-05 18:24:16 +03:00
teidesu
00c308dca7 feat(dispatcher): support more types in regex filter, inline filter for callback queries 2021-05-05 02:05:27 +03:00
teidesu
1fb7057866 feat: support callback queries 2021-05-05 01:50:04 +03:00
teidesu
23dcc4c1e5 feat: support for chosen inline query results 2021-05-04 14:07:40 +03:00
teidesu
97cbf10d3d fix(client): do not catch up after first update is received 2021-05-04 13:11:41 +03:00
teidesu
d469b81a85 feat(client): support all possible inline results and messages 2021-05-04 13:08:20 +03:00
teidesu
03bf248658 feat(client): edit media and schedule date in the message 2021-05-03 14:30:12 +03:00
teidesu
2034ae8b28 feat(client): support downloading from file ids 2021-05-01 21:10:49 +03:00
teidesu
9303d0841a feat(client): sendMediaGroup method 2021-05-01 00:30:53 +03:00
teidesu
a67c4ae85e refactor(client): extracted input file and media normalization to own methods, merged sendPhoto and sendMedia methods 2021-04-30 23:57:24 +03:00
teidesu
0eb0ac91eb feat(client): support file:* for simpler file uploads by path
holy shit code for handling file is getting more and more ridiculous. i wonder if i could refactor it somehow...
2021-04-30 22:44:17 +03:00
teidesu
f6d229f250 feat(client): added fileId field for documents 2021-04-30 20:52:16 +03:00
teidesu
3bb9a61ac7 feat(client): support file ids in sendMedia, sendPhoto and sendChatPhoto methods 2021-04-30 20:51:50 +03:00
teidesu
c0b72018fb feat(client): fileId and uniqueFileId fields for Thumbnail 2021-04-30 00:04:25 +03:00
teidesu
3336f295ee feat: basic inline queries support (only articles for now) 2021-04-28 23:00:51 +03:00
teidesu
7e9f255fdc feat(client): chat invite link class 2021-04-27 20:30:20 +03:00
teidesu
85671f6e6a refactor(client): type assertion inside User constructor 2021-04-26 23:26:57 +03:00
teidesu
5fee1d0660 fix(client): better storage handling
i suppose?? i mean, it's definitely better than randomly losing updates state and entities, but this might be much slower?
2021-04-26 23:26:29 +03:00
teidesu
b4a26c6f5b fix(client): disable catch up by default, also save storage after catching up 2021-04-26 22:41:19 +03:00
teidesu
a4f6c42bf5 feat(client): custom filtering for getDialogs 2021-04-25 21:47:44 +03:00
teidesu
bfcea5a80d feat(client): isAdmin and adminRights getters for Chat 2021-04-25 17:32:35 +03:00
teidesu
39236c94c2 feat(client): contacts related methods 2021-04-25 17:10:37 +03:00
teidesu
2fc8a90edf feat(client): better support for sticker sets, getInstalledStickers and getStickerSet methods 2021-04-25 15:39:42 +03:00
teidesu
68ce10d292 fix(chat): support display name for deleted users 2021-04-25 14:24:28 +03:00
teidesu
d26a2965d6 fix(chat): support chatForbidden and channelForbidden 2021-04-25 14:05:22 +03:00
teidesu
9545e9e24a feat(chat): expose chat user as a User 2021-04-25 13:40:36 +03:00
teidesu
960f994660 fix(user): support deleted accounts 2021-04-25 13:40:04 +03:00
teidesu
756e43c56a fix(updates): stupid no-dispatch related error 2021-04-25 13:39:07 +03:00
teidesu
1657090e33 fix(entities): replace user mentions with input user mentions after parsing 2021-04-25 13:38:56 +03:00
teidesu
64d860cc4c feat(client): support takeout session 2021-04-24 21:11:34 +03:00
teidesu
3ca8f847e6 fix(client): do not catch up id disableUpdates is used 2021-04-24 20:02:40 +03:00
teidesu
df2d77ec90 fix(client): limit number of messages in forwardMessages method 2021-04-24 19:56:09 +03:00
teidesu
cf29ffe31d feat(client): findFolder method, also ability to pass folder name in editFolder 2021-04-24 19:27:14 +03:00
teidesu
a51c1ae48c fix(client): stupid parse modes related bug 2021-04-24 19:26:23 +03:00
teidesu
0d3490ad7b feat(client): forwarding messages 2021-04-24 19:00:11 +03:00
teidesu
007343fb09 fix(client): proper handling of *TooLong updates 2021-04-24 18:51:59 +03:00
teidesu
3b88ac0bab fix(client/codegen): better handling of overloads 2021-04-24 18:01:35 +03:00
teidesu
48d328f486 feat(client): run method that wraps start() 2021-04-24 16:33:06 +03:00
teidesu
c863e7a854 fix(client): better updates handling, also emit updates returned by RPC methods 2021-04-24 16:23:30 +03:00
teidesu
58f4356d58 fix(client): use 6-digit codes for test phone numbers 2021-04-24 16:08:43 +03:00
teidesu
b28e85ca0a feat(client): support for forwarding already uploaded media (for photos and documents) 2021-04-23 22:36:00 +03:00
teidesu
70c01a62a3 refactor(updates): extracted dispatcher to own package, fixed various update related bugs 2021-04-23 22:35:37 +03:00
teidesu
3d8094b69f fix(lock): properly handle multiple concurrent acquires 2021-04-20 21:58:50 +03:00
teidesu
878c0e35e4 feat(client/codegen): slightly changed code generation to avoid creating redundant wrapper functions 2021-04-18 16:59:05 +03:00
teidesu
87481c9a32 rewrite(client): improved updates handling, added support for min entities 2021-04-18 16:23:25 +03:00
teidesu
bcc5321cee refactor(client): use _saveStorage instead of storage.save 2021-04-17 19:00:46 +03:00
teidesu
95069d0120 feat(client): startTest method
test numbers dont seem to work currently though.
2021-04-17 10:05:31 +03:00
teidesu
d8c2ef91c4 feat(client): folders 2021-04-16 00:12:07 +03:00
teidesu
c286570500 refactor: made all packages private and changed main to typescript file 2021-04-14 22:53:10 +03:00
teidesu
e6dd822644 feat(client): methods for dialogs, also added support for drafts and clearing them 2021-04-14 21:31:51 +03:00
teidesu
14dc62e912 feat(client): getChatMembers and iterChatMembers methods 2021-04-14 19:43:05 +03:00
teidesu
cdd01d43fc feat(client): setChatUsername method 2021-04-11 16:32:10 +03:00
teidesu
4371e9b63a feat(client): pinMessage and unpinMessage methods, pin and unpin bound methods for Message 2021-04-11 16:25:17 +03:00
teidesu
e3ff2b9041 feat(client): setChatDefaultPermissions and setSlowMode methods 2021-04-11 16:11:28 +03:00