Lonami Exo
8abc7ade22
Use the new in-memory entity cache
...
This should avoid a disk access every time an input entity
is needed, which is very often. Another step for #1141 .
2019-03-26 11:39:25 +01:00
Lonami Exo
4d35e8c80f
Create a new in-memory cache for entities ( #1141 )
2019-03-26 11:27:52 +01:00
Lonami Exo
1b703e905c
Don't set self._state when checking if logged in
...
This essentially made catch_up useless after .start().
cc #1125 since this affects catch_up.
2019-03-11 09:04:08 +01:00
Lonami Exo
d1c755809d
Except RpcMcgetFailError as call fail and sleep on server errors
...
This one in particular may happen when iterating over messages,
perhaps more likely to happen if the group was created in a
different data center.
A small sleep of a few seconds also greatly increases the
chances of the error going away.
2019-02-14 11:00:37 +01:00
Lonami Exo
1007e19172
Fix get_peer_id not working with InputPeerSelf
2019-02-11 10:40:35 +01:00
Dmitry D. Chernov
c8f16a4e89
Fix a couple of inconsistencies in the public interface ( #1102 )
...
* Create `_NOT_A_REQUEST` when needed. Currently, modifications
in the raised exception would be "global".
* `retries` parameters were actually attempts. This has been fixed
to actually be the amount of retries, so 0 now means don't retry.
* Helper function to deal with retries instead of using a range with
different styles every time.
2019-02-06 19:41:45 +01:00
Tulir Asokan
f271316d7d
Make logger fully configurable ( #1087 )
2019-01-11 15:52:30 +01:00
Lonami Exo
ca2c8687c8
Expect UserEmpty on get_input_entity
2019-01-08 10:58:58 +01:00
Lonami Exo
f16ed8235c
Add new is_bot method to check if the logged-in user is a bot
2018-12-24 17:32:34 +01:00
Lonami Exo
ab557a8cef
Use getUsers/getChannels with hash 0 on get_input_entity
2018-12-24 17:32:16 +01:00
Lonami Exo
7ee7b43547
Be explicit that phone numbers only work if in your contacts
2018-12-15 12:04:36 +01:00
Lonami Exo
f9fc433c0f
Better catch_up behaviour when invalid states are present
2018-12-06 16:07:11 +01:00
Lonami Exo
2863eb8cc9
Fix raising local FloodWait missing request argument
2018-10-27 09:39:00 +02:00
Lonami Exo
a2bae8374e
Fix .get_entity('me') not working from c31635c
( #1024 )
2018-10-19 16:57:46 +02:00
Lonami Exo
34cefed9ff
Except BotMethodInvalidError on getContacts
2018-10-15 18:42:35 +02:00
Lonami Exo
cf6686ff42
Revert async sessions from 3dd8b7c
(breaks sync properties)
...
Such as ChatGetter.input_chat and SenderGetter.input_sender
which rely on the fact that access to the session file will
be synchronous.
2018-10-12 22:00:02 +02:00
Lonami Exo
8c14259728
Update documentation with new sections
2018-10-06 20:20:11 +02:00
josephbiko
3dd8b7c6d1
Support async def in sessions ( #1013 )
2018-10-05 20:25:49 +02:00
Lonami Exo
ec0aa65fe1
An user -> a user
2018-09-22 19:18:42 +02:00
Lonami Exo
cb6f980277
Better autocast to InputPeerDialog and documentation
2018-09-22 10:56:37 +02:00
Lonami Exo
9275a9fcbb
Fix several typos and misleading docs ( #987 , #990 )
2018-09-19 17:51:18 +02:00
Lonami Exo
5ca1edb228
Return the correct entity from .get_entity(username)
...
The precedence of the or operator made the check succeed always
out of pure luck, since `''.lower()` would never be the chosen
username, but a present username is truthy.
This presumably worked because Telegram only returns one result
from the call, or puts the right entity the first one.
2018-08-26 12:00:17 +02:00
s3mple
29d122e810
Fix-up previous commit f17d7e9
( #967 )
2018-08-24 19:50:55 +02:00
s3mple
f17d7e9c5e
New exception class for multiple errors ( #965 )
2018-08-24 18:25:58 +02:00
Lonami Exo
24758b82ec
Don't make a request at all if it will trigger flood wait
2018-07-21 12:25:20 +02:00
Lonami Exo
cb3846cb7f
Add client.get_peer_id
2018-07-07 12:45:50 +02:00
Lonami Exo
bd878acbde
Support InputNotifyPeer autocast
2018-07-07 12:14:03 +02:00
Lonami Exo
9159e2a720
Remove report_errors/flood_sleep_threshold from the session
2018-06-26 16:09:16 +02:00
Lonami Exo
d8af64e3b9
Clarify/fix get[_input]_entity docstrings
2018-06-21 11:08:14 +02:00
Lonami Exo
cfa5cd0db2
Fix is_user_authorized always returning True
2018-06-21 09:32:09 +02:00
Lonami Exo
9c0a22ddd7
Fix Python 3.5 compatibility
2018-06-20 20:18:16 +02:00
Lonami Exo
262018959f
Process entities from sent requests/updates
2018-06-18 20:44:20 +02:00
Lonami Exo
ebfe8ebf40
Configurable per-client request/connection retries
2018-06-18 18:13:00 +02:00
Lonami Exo
efc48ee3b0
Shield self.disconnected and log RpcCallFail
2018-06-18 14:28:30 +02:00
Lonami Exo
374f5e2aab
Periodically send ping/getState
2018-06-18 13:22:25 +02:00
Lonami Exo
509fba8bcc
Fix-up isinstance/is_user_authorized from 06cdf1f
2018-06-15 13:01:16 +02:00
Lonami Exo
06cdf1fdb0
Raise on phone/network migrate if authorized
2018-06-14 23:16:00 +02:00
Lonami Exo
0f14f3b16a
Support custom event loops
2018-06-14 19:35:12 +02:00
Lonami Exo
3f16c92eb3
Subclass TLRequest for content-related objects
2018-06-12 20:14:21 +02:00
Lonami Exo
bb9b9796e0
Separate user methods from the base client
2018-06-09 21:22:54 +02:00