Commit Graph

61 Commits

Author SHA1 Message Date
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
02703e3753 Fix circular import regarding ignore_takeout 2022-01-15 13:18:53 +01:00
Lonami Exo
7524b652c8 Unify setting session state 2022-01-15 11:22:33 +01:00
Lonami Exo
be0da9b183 Update takeout to use less hacks 2022-01-09 14:41:10 +01:00
Lonami Exo
010ee0813a Rename send_read_acknowledge 2022-01-09 12:18:15 +01:00
Lonami Exo
1b15a34f69 Remove parse_mode from the client 2022-01-09 12:18:15 +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
Hackintosh 5
8de375323e Cleanup events code 2021-12-11 21:46:23 +01:00
penn5
dea424fdec Fix typo in messages.py 2021-12-11 21:46:23 +01:00
Lonami Exo
72fc8f6808 Continue work on Message sending overhaul 2021-10-12 17:59:30 +02:00
Lonami Exo
1c15375ea4 Fix get_participants was monkey-patching User
It no longer can do that. User has __slots__.
2021-09-28 21:06:00 +02: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
a9e1a574ae Fix limit was no longer defaulting to empty tuple
Introduced by 5a44510e2d.
When forwarding the calls, both signantures should match.
2021-09-26 18:37:09 +02:00
Lonami Exo
86c47a2771 Use __slots__ in all generated classes 2021-09-26 17:52:16 +02:00
Lonami Exo
8bd4835eb2 Remove build_reply_markup from the client 2021-09-26 17:24:18 +02:00
Lonami Exo
1762f554df Make events subpackage private 2021-09-24 21:11:50 +02:00
Lonami Exo
5a44510e2d Forward client calls to impl in a more straightforward manner 2021-09-24 20:46:33 +02:00
Lonami Exo
debde6e856 Completely overhaul errors to be generated dynamically 2021-09-24 20:12:00 +02:00
Lonami Exo
26f6c62ce4 Init update state cache to empty in init 2021-09-19 18:17:37 +02:00
Lonami Exo
3b1660669e Remove self input user and bot cache from client
The session_state cache can be used instead.
This does put get_me with input_peer at a disadvantage, but I expect
this is not used all that often, since 'me' does just fine.
2021-09-19 18:16:12 +02:00
Lonami Exo
cc3d4145d8 Update and persist session state on successful login 2021-09-19 18:15:19 +02:00
Lonami Exo
016347474a Populate current user on connection if it's not yet saved 2021-09-19 18:01:01 +02:00
Lonami Exo
545e9d69ce Cache session_state and all_dcs right after connect 2021-09-19 17:51:05 +02:00
Lonami Exo
93dd2a186a Refresh DC info on connection 2021-09-19 17:41:40 +02:00
Lonami Exo
58c0a5bc24 Make IPv4 mandatory in session files 2021-09-19 17:30:31 +02:00
Lonami Exo
d60ebbe6ea Fix _get_peer was relying on old utils.resolve_id 2021-09-19 17:21:11 +02:00
Lonami Exo
9479e215fb Fix remaining upgraded uses of the session to work correctly 2021-09-19 17:08:51 +02:00
Lonami Exo
d33402f02e Fix _update_loop could get stuck in an infinite loop with no feedback 2021-09-19 17:08:34 +02:00
Lonami Exo
81b4957d9b Update code to deal with the new sessions 2021-09-19 16:38:11 +02:00
Lonami Exo
29d3c3fd7c Fix outdated LAYER usage in _create_exported_sender 2021-09-19 15:56:28 +02:00
Lonami Exo
0b54fa7a25 Make edit_message parameters more consistent 2021-09-18 16:54:54 +02:00
Lonami Exo
4321b97e98 No longer run send_code_request from sign_in 2021-09-18 16:36:11 +02:00
Lonami Exo
431a9309e3 Remove mark from peer_id 2021-09-18 16:29:45 +02:00
Lonami Exo
9f3bb52e4e Possibly fix _get_response_message for UpdateMessagePoll 2021-09-18 16:10:01 +02:00
Lonami Exo
48c14df957 Remove client.download_file 2021-09-18 16:05:07 +02:00
Lonami Exo
e524a74b84 Remove client.disconnected property 2021-09-18 15:41:04 +02:00
Lonami Exo
bf61dd32af Change the way iter_participants filters are specified 2021-09-18 14:16:19 +02:00
Lonami Exo
af81899bdc Don't automatically start the client via async-with 2021-09-18 13:30:39 +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
dc29a95cef Change list of buttons to show up as rows and not cols 2021-09-17 21:03:47 +02:00
Lonami Exo
3bc46e8072 Remove broken CdnDecrypter 2021-09-17 20:55:27 +02:00
Lonami Exo
b3c23e343a Return deleted count from delete_messages 2021-09-17 20:36:40 +02:00
Lonami Exo
40ff7c6bdf Document default behaviour of limit 2021-09-17 20:19:23 +02:00
Lonami Exo
6e9ad9e31c Return correct total participant count when a filter is desired 2021-09-17 20:16:01 +02:00
Lonami Exo
1036c3cb52 Remove the aggressive hack from get_participants 2021-09-17 20:13:05 +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
943ad892f7 Address remaining uses of the Request suffix with raw API 2021-09-13 21:00:31 +02:00