Commit Graph

68 Commits

Author SHA1 Message Date
Lonami Exo
68d07beb21 Rename Entity type hint 2022-03-02 13:00:41 +01:00
Lonami Exo
c3cefef37c Rename entity parameter with something clearer 2022-03-02 13:00:41 +01:00
Lonami Exo
d5cdda28c5 Change QrLogin to reduce room for error 2022-03-02 13:00:41 +01:00
Lonami Exo
48bd061562 Fix calls to remove_event_handler 2022-03-02 13:00:41 +01:00
Lonami Exo
d1dba60278 Fix begin/end_takeout 2022-03-02 13:00:41 +01:00
Lonami Exo
0bc598c121 Stop auto-accepting ToS on sign_up, add get_tos instead 2022-02-17 12:40:38 +01:00
Lonami Exo
77a98fed2c Make phone and password kwargs in start 2022-02-17 12:40:38 +01:00
Lonami Exo
1029c38d7e Remove phone and hash from sign_up 2022-02-17 12:40:38 +01:00
Lonami Exo
90bd5de74a Remove phone and hash from sign in 2022-02-17 12:40:38 +01:00
Lonami Exo
df0e710fa1 Add a custom SentCode type 2022-02-17 12:40:38 +01:00
Lonami Exo
4258ce2bc8 Make is_connected a property
This is consistent with the rest of is_ properties
2022-02-17 12:40:38 +01:00
Lonami Exo
07faa53c5a Remove client.edit_folder
Not happy with the design, and keeping it would mean
having to maintain it. It can be added back with a better design.
2022-02-08 10:23:55 +01:00
Lonami Exo
ae43a47602 Update iter_ usages with get_ 2022-02-07 11:30:27 +01:00
Lonami Exo
56faccf151 Fix and update usage of parse_mode 2022-02-07 11:30:27 +01:00
Lonami Exo
0802f7e6b2 Rework methods to manage event handlers 2022-01-28 21:07:55 +01:00
Lonami Exo
9726169a8c Begin unification of event builders and events 2022-01-28 21:07:53 +01:00
Lonami Exo
f2ef0bfceb Make upload_file private 2022-01-28 21:06:43 +01:00
Lonami Exo
d426099bf5 Remove input_peer parameter from get_me 2022-01-28 21:06:43 +01:00
Lonami Exo
3aa53dd981 Add missing catch_up param to client init 2022-01-24 10:59:32 +01:00
Lonami Exo
4b85ced1e1 Reimplement catch_up 2022-01-23 19:53:48 +01:00
Lonami Exo
f6df5d377c Begin reworking update handling
Use a fixed-size queue instead of a callback to deal with updates.

Port the message box and entity cache from grammers to start off
with a clean design.

Temporarily get rid of other cruft such as automatic pings or old
catch up implementation.
2022-01-18 19:46:19 +01:00
Lonami Exo
3afabdd7c0 Remove auto-reconnect callback
It's an abstraction leak.
The client should know to refetch updates if a long period passed
without them on its own.
2022-01-18 18:21:56 +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
a62627534e Get rid of client.loop
Instead, use the asyncio-intended way of implicit loop.
2022-01-16 13:51:23 +01:00
Lonami Exo
6eadc8aed8 Simplify accepted values in forward, delete and mark read
Forward and delete are meant to delete lists.
Now only lists are supported, which should not be an issue
as message.forward_to and message.delete both exist.

mark_read really only works with one message at a time,
so list support was removed for it, as well as the now
redundant max_id.
2022-01-16 13:03:00 +01:00
Lonami Exo
1e779a91b7 Add progress_callback to download_profile_photo 2022-01-16 12:42:05 +01:00
Lonami Exo
a3513d5232 Remove broken force_sms 2022-01-16 12:19:07 +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
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
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
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
cc3d4145d8 Update and persist session state on successful login 2021-09-19 18:15:19 +02:00
Lonami Exo
545e9d69ce Cache session_state and all_dcs right after connect 2021-09-19 17:51:05 +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
81b4957d9b Update code to deal with the new sessions 2021-09-19 16:38:11 +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
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