Commit Graph

33 Commits

Author SHA1 Message Date
Lonami Exo
96b4059ae8 Properly handle exception cases during update dispatch 2022-02-07 11:30:27 +01:00
Lonami Exo
ab6d60dab2 Fix event building 2022-02-07 11:30:27 +01:00
Lonami Exo
d490cf0f70 Add missing NotResolved import 2022-02-07 11:30:27 +01:00
Lonami Exo
46ba9696aa Fix add_handler auto-type detection 2022-02-07 11:30:27 +01:00
Lonami Exo
a3a60e6dca Add proper warnings when applying filters to updates fails 2022-01-28 21:07:55 +01:00
Lonami Exo
a1fe80557a Implement dispatching events 2022-01-28 21:07:55 +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
4b85ced1e1 Reimplement catch_up 2022-01-23 19:53:48 +01:00
Lonami Exo
1f40372235 Fix update handling for channels 2022-01-23 12:43:41 +01:00
Lonami Exo
01291922c9 Proper usage of messagebox in update handling loop 2022-01-22 13:27:00 +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
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
4f4c7040d1 Stop using futures as one-shot channels
Instead, use a single-item queue. This is asyncio.run-friendly,
even when the client is initialized outside of async def.
2022-01-16 13:59:43 +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
Hackintosh 5
8de375323e Cleanup events code 2021-12-11 21:46:23 +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
86c47a2771 Use __slots__ in all generated classes 2021-09-26 17:52:16 +02:00
Lonami Exo
1762f554df Make events subpackage private 2021-09-24 21:11:50 +02:00
Lonami Exo
debde6e856 Completely overhaul errors to be generated dynamically 2021-09-24 20:12:00 +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
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
e524a74b84 Remove client.disconnected property 2021-09-18 15:41:04 +02:00
Lonami Exo
943ad892f7 Address remaining uses of the Request suffix with raw API 2021-09-13 21:00:31 +02:00
Lonami Exo
c84043cf71 Fix calls to private client methods 2021-09-12 14:09:53 +02:00
Lonami Exo
d48649602b Replace most raw API usage with new location 2021-09-12 12:16:02 +02:00
Lonami Exo
66ef553adc Remove duplicated docstrings 2021-09-11 15:28:24 +02:00
Lonami Exo
f86339ab17 Remove Conversation API 2021-09-11 14:16:25 +02:00
Lonami Exo
2a933ac3bd Remove sync hack 2021-09-11 14:06:36 +02:00
Lonami Exo
d6326abacb Rename client module as _client 2021-09-11 13:35:35 +02:00