Commit Graph

3038 Commits

Author SHA1 Message Date
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
e12845c38b Fix deserialization of bools 2023-08-30 14:53:35 +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
Lonami Exo
fed06f40ed Port tl-gen from grammers 2023-07-03 19:19:20 +02:00
Lonami Exo
fc6984d423 Port tl_parser from grammers 2023-06-12 23:05:53 +02:00
Lonami Exo
fb41cc0546 Reboot project 2023-06-11 15:43:08 +02:00
Lonami Exo
c3bddf9440 Add missing formatting arg in logging call
Noticed in #4123.
2023-06-02 23:04:14 +02:00
Lonami Exo
4ff7ac6b75 Handle CancelledError inside mtprotosender recv loop 2023-06-02 19:04:51 +02:00