Commit Graph

31 Commits

Author SHA1 Message Date
Lonami Exo
7142734fb4 Remove StateCache and EntityCache 2022-01-18 18:19:14 +01:00
Lonami Exo
f8264abb5a Clean-up client's __init__ and remove entity cache
Entity cache uses are removed. It was a source of ever-growing memory
usage that has to be reworked. This affects everything that tried to
obtain an input entity, input sender or input chat (such as the
SenderGetter or calls to _get_entity_pair). Input entities need to be
reworked in any case.

Its removal also affects the automatic cache of any raw API request.

Raise last error parameter is removed, and its behaviour made default.

The connection type parameter has been removed, since users really have
no need to change it.

A few more attributes have been made private, since users should not
mess with those.
2022-01-18 12:56:17 +01:00
Lonami Exo
3f68510393 Fix EntityCache not reading the new EntityType 2022-01-17 11:41:08 +01:00
Lonami Exo
a95393648f Remove custom enum parsing
Python enums can already be parsed out-of-the-box.
2022-01-16 12:06:42 +01:00
Lonami Exo
f5f0c84553 Completely overhaul connections and transports
Reduce abstraction leaks. Now the transport can hold any state,
rather than just the tag. It's also responsible to initialize on
the first connection, and they can be cleanly reset.

asyncio connections are no longer used, in favour of raw sockets,
which should avoid some annoyances.

For the time being, more obscure transport modes have been removed,
as well as proxy support, until further cleaning is done.
2022-01-15 13:33:50 +01:00
Lonami Exo
7ea30961ae Bump minimum required Python version to 3.7 2022-01-09 13:00:45 +01:00
Lonami Exo
e2132d5f7c Change the way thumb size selection works 2022-01-09 12:18:15 +01:00
Lonami Exo
03de901b7f Add enum for typing action 2022-01-09 12:18:15 +01:00
Lonami Exo
dbe66bf805 Remove TLObject.to_json 2022-01-09 12:18:15 +01:00
Lonami Exo
b566e59036 Add stringify back to custom Message 2022-01-09 12:18:15 +01:00
Lonami Exo
197a1ca996 Fix some modules were public when they should not have been 2021-09-26 19:58:42 +02:00
Lonami Exo
e3b1dc2059 Make to_dict dynamic 2021-09-26 18:30:08 +02:00
Lonami Exo
86c47a2771 Use __slots__ in all generated classes 2021-09-26 17:52:16 +02:00
Lonami Exo
6fec2a68c5 Use a proper markdown parser 2021-09-25 20:33:25 +02:00
Lonami Exo
ce292b36ab Fix GROUP check in EntityCache 2021-09-24 20:12:23 +02:00
Lonami Exo
debde6e856 Completely overhaul errors to be generated dynamically 2021-09-24 20:12:00 +02:00
Lonami Exo
545e9d69ce Cache session_state and all_dcs right after connect 2021-09-19 17:51:05 +02:00
Lonami Exo
81b4957d9b Update code to deal with the new sessions 2021-09-19 16:38:11 +02:00
Lonami Exo
431a9309e3 Remove mark from peer_id 2021-09-18 16:29:45 +02:00
Lonami Exo
bf61dd32af Change the way iter_participants filters are specified 2021-09-18 14:16:19 +02:00
Lonami Exo
ba8cdc80da Officially remove resolve_invite_link 2021-09-18 13:10:31 +02:00
Lonami Exo
9af8ec8cce Officially remove bot_file_id support 2021-09-18 13:06:52 +02:00
Lonami Exo
3d36bb7b93 Change the way connection modes are specified 2021-09-18 12:49:44 +02:00
Lonami Exo
be3ed894c6 Make changes to the default limit in client.get_list methods 2021-09-17 20:04:57 +02:00
Lonami Exo
e9f9994f4a Unify client.iter_* methods 2021-09-17 19:35:10 +02:00
Lonami Exo
499fc9f603 Move alltlobjects.py and fix imports 2021-09-12 16:58:06 +02:00
Lonami Exo
5fd2a017b2 Fix imports 2021-09-12 16:23:55 +02:00
Lonami Exo
e9b97b5e4a Fix client method calls and reading TLObjects 2021-09-12 15:47:05 +02:00
Lonami Exo
f222dc167e Fix imports 2021-09-12 13:27:13 +02:00
Lonami Exo
d48649602b Replace most raw API usage with new location 2021-09-12 12:16:02 +02:00
Lonami Exo
a901d43a6d Rename more subpackages and modules 2021-09-11 17:48:23 +02:00