Lonami Exo
44ab85962b
Completely change errors (make one class for each)
2017-06-10 11:47:51 +02:00
Lonami Exo
5df4716164
Add errors related to #103
2017-06-10 10:08:08 +02:00
Lonami Exo
7adb4f09d6
Slightly reorganise the project structure
2017-06-09 16:13:39 +02:00
Lonami Exo
ba5bfa105f
Use memoryview() on TcpClient.write() instead slicing the data
2017-06-09 11:50:30 +02:00
Lonami Exo
c6645a555d
Prefer BufferedWriter over BinaryWriter for socket operations
2017-06-09 11:42:39 +02:00
Lonami Exo
5494cb15eb
"Don't go nuts switching back and forth between (non-)blocking"
...
And other improvements (shutting down the socket, proper naming).
https://docs.python.org/3/howto/sockets.html#non-blocking-sockets
2017-06-09 11:27:52 +02:00
Lonami Exo
40616ba704
Support arbitrary file objects for .download_file() and update README
2017-06-09 11:12:56 +02:00
Lonami Exo
40f4c2533a
Incredibly improve downloading media on different DCs*
...
* This involves raising the InvalidDCError on .invoke()
when the message is FILE_MIGRATE_X, but users can always
catch this error and use the .invoke_on_dc() function
2017-06-09 10:50:40 +02:00
Lonami Exo
efd1c1ba64
Always acknowledge received errors for server not to resend them
2017-06-09 10:46:39 +02:00
Lonami Exo
639a17aa5a
Cache exported TelegramBareClients instead MtProtoSenders
2017-06-09 10:35:19 +02:00
Lonami Exo
cf65e5b1cf
Get rid of signature warnings and use nicer *args instead
2017-06-08 19:03:15 +02:00
Lonami Exo
b760f0de50
Fix reconnection (InvalidDC did not occur on .connect())*
...
* Also, use the parameters given for the initial connection
instead ignoring them.
2017-06-08 16:51:20 +02:00
Lonami Exo
6a043b7371
Fix Session not being able to save auth_key=None
2017-06-08 16:45:09 +02:00
Lonami Exo
d788d30de2
Move connect() parameters to init and ignore signature warnings
2017-06-08 16:41:20 +02:00
Lonami Exo
a07c7bd0d0
Move InteractiveClient to examples/ (and stop shipping it to pip)
2017-06-08 14:06:32 +02:00
Lonami Exo
88f87f6de2
Major TelegramClient rewrite, split it into TelegramBareClient*
...
Making a distinction between a bare client and a full-featured
client will make it easier to create instances of the bare
client itself that can be simultaneously and hence have two
separate connections which do not interfer with eachother.
While writing the bare client, full reconnection to a
different data center is once again done only on .connect().
2017-06-08 13:12:57 +02:00
Lonami Exo
6922eb3d39
Update to v0.10.1
2017-06-07 20:15:27 +02:00
Lonami Exo
4a2b6e7fa8
Don't start another thread unless an update handler is added*
...
*Also, stop sending pings, automatic reconnection from
commit fb4885a
does the job better.
2017-06-07 20:10:57 +02:00
Lonami Exo
1860054ec0
Make generate_sequence() thread-safe and move it to Session
2017-06-07 12:00:01 +01:00
Lonami Exo
49ca5c00c7
Create a more upgrade-resistant JSON-based Session class
2017-06-07 11:48:54 +01:00
Lonami Exo
8e3f3063f4
Add more errors and make them more descriptive
2017-06-07 11:09:10 +01:00
Lonami Exo
5c7efdb04f
Make use of relative imports everywhere, again
2017-06-05 18:00:43 +02:00
Dmitry D. Chernov
5362f2578d
Allow using lists and dicts for passing proxy settings
2017-06-05 09:26:10 +02:00
Lonami Exo
3de398bae6
Sort constructors on the documentation for predictable results
2017-06-04 20:21:45 +02:00
Lonami Exo
2f00033683
Add a nice button to the docs to copy the import code
2017-06-04 20:21:14 +02:00
Lonami Exo
cf6f300df1
Improve .is_user_authorized() and add a .get_me() method
2017-06-04 17:24:08 +02:00
Lonami Exo
7acfd0c6c9
Update to v0.10 and some minor grammar fixes
2017-06-03 13:36:41 +02:00
Lonami Exo
b472421b8a
Allow specifying custom version/lang code/etc on client.connect
2017-06-03 13:24:27 +02:00
Lonami Exo
06db6c3823
Allow integer-only session name and hash for the example
2017-06-03 13:08:25 +02:00
Lonami Exo
153cbfd350
Use more straightforward calls of hashlib.sha1/sha256
2017-06-02 16:49:03 +02:00
Lonami Exo
6b4f2abb96
Fix disconnect and reconnect for exported senders ( #53 )
2017-05-30 13:27:23 +02:00
Lonami Exo
097d1669b2
Allow invoking requests on different DCs ( #53 )
2017-05-30 13:03:14 +02:00
Lonami Exo
a427465231
Tidy up working with different DCs
2017-05-30 12:14:29 +02:00
Lonami Exo
d321096714
Tidy if/else branch on _recreate_socket
2017-05-30 11:42:14 +02:00
Lonami Exo
2399b7e55e
Remove try/except if a proxy was used, make more members private
2017-05-30 10:40:33 +02:00
Lonami Exo
0b9d76bda1
Replace library print()'s with calls to _logger
2017-05-30 10:24:08 +02:00
Lonami Exo
fb4885aed0
Trigger automatic reconnection if server kicks us ( #94 )
2017-05-30 10:11:18 +02:00
Lonami Exo
6e1798d6ac
Update README.rst
2017-05-29 21:37:58 +02:00
Lonami Exo
7c84c72f06
Minor change to make the code more pythonic
2017-05-29 21:27:20 +02:00
Lonami Exo
042e3069a9
Move UpdatesThread from MtProtoSender to TelegramClient
...
This makes it easier to perform a proper reconnection
2017-05-29 21:24:47 +02:00
Lonami Exo
ebe4232b32
Change the way in which updates are read and handled
2017-05-29 20:41:11 +02:00
Lonami Exo
ae1dbc63da
Handle UnicodeEncodeError's in a cleaner way
2017-05-29 17:07:09 +02:00
Lonami Exo
452532cce7
Make certain methods and members private
2017-05-29 17:06:48 +02:00
Lonami Exo
63b1881c83
Raise FloodWaitError instead sleeping
2017-05-29 16:46:17 +02:00
Lonami Exo
7f84374e98
Attempt at fixing msg_id too low/high ( #95 )
2017-05-26 16:39:59 +02:00
Lonami Exo
289baa0fed
Show return type on the generated documentation too
2017-05-24 19:23:44 +02:00
Lonami Exo
fabf806979
Add more errors, update to v0.9.1
2017-05-23 10:31:52 +02:00
Lonami Exo
9b5d1b02e0
Add return type to the docs of the generated code
2017-05-23 10:10:01 +02:00
Lonami Exo
e60c70c1a7
Add more descriptive errors for get_input_peer ( #93 )
2017-05-23 09:45:48 +02:00
Lonami Exo
7eaa393271
Show types containing the current type as a member on docs
2017-05-22 17:30:35 +02:00