Commit Graph

147 Commits

Author SHA1 Message Date
Lonami Exo
257b5d74e9 Fix cyclic imports 2023-10-19 22:41:55 +02:00
Lonami Exo
b8b9836cf7 Work towards dialogs and drafts 2023-10-19 21:36:54 +02:00
Lonami Exo
864d5cd444 Gracefully handle user-invoked disconnects 2023-10-19 19:28:00 +02:00
Lonami Exo
854d3745b3 Handle dispatcher CancelledError during disconnect 2023-10-18 20:38:45 +02:00
Lonami Exo
c49f0827b1 Don't send requests until there are salts
This way we don't waste resources sending containers that may fail.
2023-10-18 20:35:55 +02:00
Lonami Exo
45f866c335 Fix handling of bad_msg 16 and 17 2023-10-18 20:31:09 +02:00
Lonami Exo
5604f530c0 Fix handling of bad_msg referring to containers 2023-10-18 19:51:18 +02:00
Lonami Exo
186dd38ff4 Save session in complete_login 2023-10-17 20:45:52 +02:00
Lonami Exo
4465644aa1 Fix pack implementations 2023-10-17 18:50:06 +02:00
Lonami Exo
34dffe978e Fix file uploads and references to full_name 2023-10-16 23:06:24 +02:00
Lonami Exo
0727c1d1f1 Continue improving documentation 2023-10-16 20:12:16 +02:00
Lonami Exo
04806a2a4a Create a base class for Chat 2023-10-16 20:12:00 +02:00
Lonami Exo
c4d399e32d Add missing await in get_password_information 2023-10-16 20:10:05 +02:00
Lonami Exo
8e616bc85a Add client to readthedocs requirements 2023-10-16 18:43:31 +02:00
Lonami Exo
2f6ea3497a Use custom build backend for the client package 2023-10-16 18:32:12 +02:00
Lonami Exo
953f6f11c5 Add .readthedocs.yaml 2023-10-15 21:16:50 +02:00
Lonami Exo
6be93c69ed Handle UpdateShortSentMessage in send_message 2023-10-14 01:25:06 +02:00
Lonami Exo
816f6012a9 Support more chats in resolve_to_packed 2023-10-14 01:21:59 +02:00
Lonami Exo
c91ce98a25 Fix handling of salts and container buffer 2023-10-14 01:21:33 +02:00
Lonami Exo
6ed279e773 Improve handling of remote config 2023-10-13 22:59:56 +02:00
Lonami Exo
b4f9d3d720 Improve error handling in transports 2023-10-13 22:59:56 +02:00
Lonami Exo
42633882b5 Make logs more consistent 2023-10-13 22:59:56 +02:00
Lonami Exo
236c2f7e7c Remove TODOs 2023-10-13 22:59:56 +02:00
Lonami Exo
b31f4fe063 Use logger 2023-10-12 21:10:00 +02:00
Lonami Exo
325f1ca27d Update changelog 2023-10-12 20:46:57 +02:00
Lonami Exo
994d07ba05 Continue documentation 2023-10-12 19:31:41 +02:00
Lonami Exo
034bf304bb Enable and use ruff 2023-10-12 18:17:41 +02:00
Lonami Exo
7fabf7da0a Continue documentation and reducing public API 2023-10-08 15:07:39 +02:00
Lonami Exo
25a2b53d3f Continue implementing file and message 2023-10-02 23:26:40 +02:00
Lonami Exo
4df1f4537b Complete migration guide from other bot libraries 2023-10-01 13:37:28 +02:00
Lonami Exo
18895748c4 Continue implementation and documentation 2023-09-30 17:13:24 +02:00
Lonami Exo
6a880f1ff1 Add missing implementations 2023-09-17 22:54:52 +02:00
Lonami Exo
5f4470dd57 Fix step could complete all at once 2023-09-17 22:53:52 +02:00
Lonami Exo
2541c409e2 Add username to session
Needed by filters.Command.
2023-09-17 22:53:26 +02:00
Lonami Exo
6f6618f251 Use cryptg when available 2023-09-17 22:48:17 +02:00
Lonami Exo
495de58925 Expand docs on migration guide 2023-09-16 19:13:00 +02:00
Lonami Exo
22f15303a5 Add errors factory skeleton 2023-09-16 19:12:41 +02:00
Lonami Exo
0e586abefe Add ChatType filter 2023-09-14 21:32:21 +02:00
Lonami Exo
604d95a807 Document most methods and classes 2023-09-14 21:17:24 +02:00
Lonami Exo
9e43700f55 Fix docgen in strict mode 2023-09-13 20:07:07 +02:00
Lonami Exo
5376905e3d Address type checks 2023-09-13 19:39:01 +02:00
Lonami Exo
b62327308b Add documentation 2023-09-13 19:01:16 +02:00
Lonami Exo
e36c35c805 Begin preparing client for documentation 2023-09-13 19:00:47 +02:00
Lonami Exo
c57543d79a Init connection on the DC from the session 2023-09-12 20:55:46 +02:00
Lonami Exo
9e5eb619e1 Make disconnection more resilient 2023-09-12 20:55:25 +02:00
Lonami Exo
f2b8a91fa9 Fix loading of SqliteSession 2023-09-12 20:54:49 +02:00
Lonami Exo
03a85dfd1a Add interactive_login 2023-09-12 20:54:22 +02:00
Lonami Exo
aa83e7b043 Add session storages 2023-09-10 19:54:05 +02:00
Lonami Exo
16de3b274c Trim down client functions to MVP level 2023-09-03 19:01:05 +02:00
Lonami Exo
4ef3e63a88 Implement update dispatching 2023-09-03 18:47:47 +02:00
Lonami Exo
9c888b83da Run sphinx-quickstart 2023-09-03 10:59:27 +02:00
Lonami Exo
e642ccfc4d Update layer and move File out to types 2023-09-03 00:16:05 +02:00
Lonami Exo
4b2d252fe1 Significantly clean-up imports
Sure wish I would've automated this.
2023-09-02 23:19:04 +02:00
Lonami Exo
f75acee7e8 Automatically generate Client methods 2023-09-02 21:09:40 +02:00
Lonami Exo
938126691c Implement file-related methods 2023-09-02 20:37:19 +02:00
Lonami Exo
c44eb12c60 Rename input_as_peer 2023-09-02 20:36:50 +02:00
Lonami Exo
2cabf6aa25 Make getting messages more usable 2023-09-02 01:29:35 +02:00
Lonami Exo
0dfa232070 Fix user login 2023-09-02 01:18:10 +02:00
Lonami Exo
49c0645fcb Fix full transport overreading 2023-09-02 01:15:10 +02:00
Lonami Exo
5e43efc55d Implement message-related methods 2023-09-02 00:49:20 +02:00
Lonami Exo
c46387f7bf Make Session more convenient to use 2023-09-02 00:48:26 +02:00
Lonami Exo
3863cf0972 Implement bot-related methods 2023-09-01 19:51:15 +02:00
Lonami Exo
14ed4ea764 Add some ways to convert message 2023-09-01 19:50:40 +02:00
Lonami Exo
d2fc9b6cfc Add some ways to convert input chats 2023-09-01 19:49:36 +02:00
Lonami Exo
5081910c08 Create Channel and Group types 2023-09-01 19:47:35 +02:00
Lonami Exo
da011e4b1d Implement some auth methods 2023-09-01 17:41:47 +02:00
Lonami Exo
201497b638 Clear out user if not authorized 2023-09-01 14:41:51 +02:00
Lonami Exo
cc65ee473e Mark tests requiring network access 2023-09-01 14:09:53 +02:00
Lonami Exo
f69e309b0b Use pytest-asyncio for client and sender tests 2023-09-01 14:02:24 +02:00
Lonami Exo
294f7dedd5 Implement client connection 2023-09-01 13:42:23 +02:00
Lonami Exo
87ffdca4c2 Import annotations from future
Otherwise Client is a NameError.
2023-09-01 13:40:43 +02:00
Lonami Exo
9ba6e2ded6 Generate deserializers for requests 2023-09-01 13:25:17 +02:00
Lonami Exo
2e1321b6c9 Remove enqueuer abstraction from sender
Unnecessary complexity since Python lacks exclusive ownership.
2023-09-01 11:57:41 +02:00
Lonami Exo
77b49a1c88 Combine DataCenter ip and port into a single field 2023-09-01 11:47:23 +02:00
Lonami Exo
fb4503338d Add disconnect method to sender
Unlike Rust, there's no implicit dropping of connections.
2023-09-01 11:46:49 +02:00
Lonami Exo
5a34e65708 Add Client skeleton 2023-08-31 23:09:01 +02:00
Lonami Exo
332215ea2e Bring client parsers for commonmark and HTML 2023-08-31 23:07:37 +02:00
Lonami Exo
69d7941852 Implement MessageBox 2023-08-31 20:11:35 +02:00
Lonami Exo
c77c10b48f Implemnet chat hash cache and adapting updates 2023-08-31 17:36:08 +02:00
Lonami Exo
7c112d8b0f Fix typing issues 2023-08-31 13:32:57 +02:00
Lonami Exo
60ed7a32fe Use proper error types in mtp 2023-08-31 13:23:30 +02:00
Lonami Exo
7166059132 Fix mtsender enqueuer and complete test 2023-08-31 12:27:43 +02:00
Lonami Exo
dfc540c472 Fix mtp message and container handling 2023-08-31 12:26:43 +02:00
Lonami Exo
9e582ca0fa Avoid storing memoryview in deserialized objects 2023-08-31 12:25:00 +02:00
Lonami Exo
352ccdd4fc Update auth test to work under new RSA_PAD 2023-08-31 11:38:05 +02:00
Lonami Exo
d4288fd696 Update RSA encryption to use the new RSA_PAD
This makes the server not return -404 when using newer RSA keys.
2023-08-31 11:09:12 +02:00
Lonami Exo
4078243dad Fix some typing issues in tests 2023-08-31 10:54:50 +02:00
Lonami Exo
53ea35e0d5 Initial implementation of mtsender 2023-08-31 10:48:59 +02:00
Lonami Exo
84e14c2ec4 Make Request class a generic container 2023-08-31 10:34:36 +02:00
Lonami Exo
8f89dbb5c2 Temporarily use old RSA keys
After a day's worth, the problem was newer keys are used differently.
2023-08-31 10:22:58 +02:00
Lonami Exo
e20203785a Add missing nonce check during authentication 2023-08-31 10:22:23 +02:00
Lonami Exo
d5e6dbe36b Change transports to pack into a write fn 2023-08-30 16:37:04 +02:00
Lonami Exo
2be75380a3 Update transports to report read length 2023-08-30 13:43:35 +02:00
Lonami Exo
269ee4f05f Port mtproto from grammers 2023-07-09 21:16:55 +02:00
Lonami Exo
9636ef35c1 Port crypto from grammers 2023-07-08 13:04:20 +02:00
Lonami Exo
e74332de75 Improve codegen
Avoid on-import modification of classes.
This makes it possible to have multiple namespaces work together.

Implement equality on all generated types.
This enables support in tests as well feeling similar to dataclasses.

Make generated code constructors keyword-only.
This increases readability and reduces risk of breakage during upgrades.
2023-07-08 12:15:11 +02:00
Lonami Exo
7b707cfc6c Port tl-types fromm grammers 2023-07-05 22:35:18 +02:00