Lonami Exo
e717256937
Always use session ip address and port when connecting
2017-10-01 19:26:20 +02:00
Lonami Exo
269949595f
Allow phone as int on .sign_in ( #278 )
2017-10-01 19:02:53 +02:00
Lonami Exo
354ea1c0c8
Add ChannelPrivateError error
2017-10-01 18:53:12 +02:00
Lonami Exo
8c3a2470ed
Update to v0.15
2017-10-01 17:38:48 +02:00
Lonami Exo
d30fdbe778
Support "string" peers on .get_input_entity
2017-10-01 16:59:18 +02:00
Lonami Exo
8df4d7c4a5
Internal methods should use .get_input_entity
2017-10-01 16:54:11 +02:00
Lonami Exo
1cdf879888
Fix .get_input_entity failing for chats
2017-10-01 16:53:47 +02:00
Lonami Exo
1ded6d9d06
Expand Updates into Update objects before calling handlers
2017-10-01 16:30:27 +02:00
Lonami Exo
c61e168de4
Rename invoke to __call__
2017-10-01 16:04:14 +02:00
Lonami Exo
36dabc4928
Process entities from the MtProtoSender instead TelegramBareClient
...
This way, update objects will also be processed when they occur.
2017-10-01 16:02:29 +02:00
Lonami Exo
71b6e527a6
Allow using parenthesis or spaces in phones when .get_entity
2017-10-01 15:50:23 +02:00
Lonami Exo
5b6f9b6542
Add a new .get_input_entity method and use it on .get_entity
2017-10-01 14:19:04 +02:00
Lonami Exo
9bccd17881
Add an option to allow not saving/processing found entities
2017-10-01 13:32:27 +02:00
Lonami Exo
e4c5396c04
Add cross-thread safety when saving the session
2017-10-01 13:27:08 +02:00
Lonami Exo
a737f33324
Save all found entities to the session file
2017-10-01 13:27:08 +02:00
Tanuj
0a4a898c49
Remove random 'f' from auto_reply.py example
2017-10-01 12:57:20 +02:00
Lonami Exo
9445d2ba53
More enhancements on .sign_in from different clients ( #278 )
2017-10-01 11:37:18 +02:00
Lonami Exo
1d250a5441
Allow overriding phone on .sign_in ( fix #278 )
2017-10-01 11:31:26 +02:00
Lonami Exo
1d159908c7
Fix RPC excepts (e.g. UserMigrate) being in the wrong try
2017-10-01 11:25:56 +02:00
Lonami Exo
68e7d481f4
Add support to get all dialogs at once
2017-10-01 11:25:12 +02:00
Lonami Exo
06bb09b95c
Fix wrong .empty() due to variable shadowing (from ce48c97
)
2017-10-01 10:45:59 +02:00
Lonami Exo
ce48c9752e
Assert flag params with same flag index are all set/unset
2017-09-30 19:47:19 +02:00
Lonami Exo
a5ab49c707
Remove sleep on ServerError as per @danog's recommendation
2017-09-30 19:02:12 +02:00
Lonami Exo
33dbac6350
Add some missing BadRequest errors
2017-09-30 19:00:32 +02:00
Lonami Exo
c9dff552b8
Except ServerErrors and sleep a bit before retrying
2017-09-30 18:51:25 +02:00
Lonami Exo
76e5206acc
Raise ValueError if an unknown **kwarg is given
2017-09-30 18:45:56 +02:00
Lonami Exo
f1bca0fd06
Fix setting None update workers not causing all threads to stop
2017-09-30 18:44:37 +02:00
Lonami Exo
8c3c990e74
Remove UpdateState .set and .check error
2017-09-30 18:39:31 +02:00
Lonami Exo
933ae01d85
Change condition to perform automatic reconnection
2017-09-30 18:33:34 +02:00
Lonami Exo
b6bc9ac39b
Rename ._connect_lock to ._reconnect_lock
2017-09-30 18:25:09 +02:00
Lonami Exo
671ac1cdb7
Fix **kwargs not being passed to TelegramBareClient
2017-09-30 18:02:08 +02:00
Lonami
4685cda751
Merge pull request #277 from LonamiWebs/many-connections
2017-09-30 18:00:48 +02:00
Lonami Exo
4cd7e1711e
Rename cdn parameter to _cdn
2017-09-30 17:57:39 +02:00
Lonami Exo
d28f370ab6
Add ._get_cdn_client as alternative ._get_exported_client version
2017-09-30 17:51:07 +02:00
Lonami Exo
a35c4b15db
Cache exported Sessions instead whole clients
2017-09-30 16:32:10 +02:00
Lonami Exo
c1c6df9fd0
Fix invoke not raising ValueError when retries reach 0
2017-09-30 16:18:16 +02:00
Lonami Exo
8ecd2c2e06
Call .sync_updates on .connect iff exported_auth is None
...
Calling this method on exported clients would trigger a
UserMigrateError because it was being used on a non-native
data center. For .connects like this, don't attempt syncing
updates.
2017-09-30 16:11:16 +02:00
Lonami Exo
18e485ded2
Set default TelegramBareClient behaviour to not spawn ReadThread
2017-09-30 15:53:47 +02:00
Lonami Exo
0a567fcd7c
Make creating a new sender cleaner
2017-09-30 12:08:06 +02:00
Lonami Exo
5da300ca84
Make MtProtoSender not thread-safe
...
Rationale: a new connection should be spawned if one desires to
send and receive requests in parallel, which would otherwise cause
one of either threads to lock.
2017-09-30 11:50:11 +02:00
Lonami Exo
003e231239
Attempt at cleaning up TelegramBareClient.invoke()
2017-09-30 11:45:35 +02:00
Lonami Exo
61033b2f56
Allow disabling spawning a second thread
2017-09-30 11:28:15 +02:00
Lonami Exo
a3ae56ca9e
Use a timeout when worker threads are polling
2017-09-30 11:21:07 +02:00
Lonami Exo
7cef5885fa
Rename process_updates/polling to workers
2017-09-30 11:17:31 +02:00
Lonami Exo
72b7e99222
Ensure the worker threads have updates once they acquire the lock
2017-09-30 10:59:33 +02:00
Lonami Exo
9560bcc324
Remove "if background thread" check as it isn't exposed anymore
2017-09-30 10:27:46 +02:00
Lonami Exo
b87a798dd5
Spawn new worker threads to handle updates instead using ReadThread
2017-09-30 10:27:46 +02:00
Lonami Exo
479afddf50
Move core functionality to the TelegramBareClient
...
Rationale: the intended behaviour of the TelegramClient will now
be to focus on abstracting the users from manually importing
requests and types to work with Telegram's API. Thus, all the
core functionality has been moved to the TelegramBareClient,
which will now be responsible of spawning new threads or
connections and even handling updates.
This way there is a clear distinction between the two clients,
TelegramClient is the one meant to be exposed to the end user,
since it provides all the mentioned abstractions, while the
TelegramBareClient is the "basic" client needed to work with
the API in a comfortable way.
There is still a need for an MtProtoSender, which still even
lower level, and knows as little as possible of what requests
are. This handles parsing the messages received from the
server so that their result can be understood.
2017-09-30 10:27:46 +02:00
Lonami Exo
b61deb5cfb
Delete methods to create_new_connection and invoke_on_dc
2017-09-30 10:27:46 +02:00
Lonami Exo
0a693c705a
Create a new connection when called from a different thread
...
This allows to invoke several requests in parallel while not
waiting for other requests to be written to the network.
2017-09-30 10:27:46 +02:00