Commit Graph

3094 Commits

Author SHA1 Message Date
Lonami Exo
4ef3e63a88 Implement update dispatching 2023-09-03 18:47:47 +02:00
Lonami Exo
8727b87130 Remove unintended private imports and simplify sig copy 2023-09-03 11:03:07 +02:00
Lonami Exo
e4d88e061d Create Python tools in favour of shell scripts
Python is likely to be installed when working on Python code,
which should make it more portable and consistent.
2023-09-03 11:00:48 +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
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