Lonami Exo
66876b6722
Use pycrypto's RSA instead the old weird RSA implementation
2017-08-23 21:49:27 +02:00
Lonami Exo
0cae62f091
Fix silly bug with two wrongly ordered lines (on download document)
2017-08-23 16:06:41 +02:00
Lonami Exo
571d8bc21f
Update to v0.12
2017-08-23 01:47:52 +02:00
Lonami Exo
c0bae1d608
Replace type(...) == ... with isinstance() checks
2017-08-23 01:45:49 +02:00
Lonami Exo
65d5ab685f
Let .upload_file() support streams and byte arrays
2017-08-23 01:43:08 +02:00
Lonami Exo
8ed77418bf
Make .download_profile_photo() more friendly
2017-08-23 01:35:12 +02:00
Lonami Exo
1d0ad9628d
Rename "callback" to "progress_callback" for consistency
2017-08-23 00:55:34 +02:00
Lonami Exo
fd6a9a4318
Make downloading files a lot more friendly with .download_media()
2017-08-23 00:48:00 +02:00
Lonami Exo
4234efcc86
Make sending files a lot more friendly with a simple .send_file()
2017-08-23 00:27:33 +02:00
Lonami Exo
81ccd21cdb
Allow specifying a phone number or username for common methods
2017-08-23 00:01:10 +02:00
Lonami Exo
fb5c43b539
Ensure .connect() always returns True/False
2017-08-22 23:17:05 +02:00
Lonami Exo
1a6231472e
Ensure the connection is flagged as closed on errors, move #201
2017-08-22 23:12:32 +02:00
Lonami Exo
88ec9c297e
Improve libssl.py's file formatting
2017-08-22 23:05:07 +02:00
Lonami Exo
274e16ac66
Avoid defining Python's AES class if libssl's is available
2017-08-22 23:05:07 +02:00
Tural
12b84c929a
Fix log_out problems on macOS devices
2017-08-21 09:00:23 +02:00
Christian Stemmle
ffb1cf483d
Faster crypto by using libssl ( closes #199 )
2017-08-20 01:21:11 +02:00
Lonami Exo
afcddfd7c1
Remove seemingly useless array copies on aes.py ( #199 )
2017-08-17 18:12:19 +02:00
Lonami Exo
9f812d83a9
Use sympy for faster factorization if available ( #199 )
2017-08-17 17:37:27 +02:00
Lonami Exo
7e85a3cda4
Attempt at making get_new_msg_id thread-safe ( #195 )
2017-08-14 15:17:16 +02:00
MeytiGHG
1794acdfec
Check for isinstance(x, JsonSession) instead crashing during transition
2017-08-07 00:54:23 +02:00
Lonami Exo
83c346ccc5
Let InputPeerChannel be casted automatically into InputChannel
2017-08-05 09:37:34 +02:00
Lonami Exo
7844cd358e
Attempt at making layer migrations more smooth ( #158 )
2017-07-26 16:10:45 +02:00
Lonami Exo
160a3699ac
Fix confusing names "MtProtoRequest" and ".confirmed" ( #176 )
...
This also fixes the annoyingly confusing message:
"Odd msg_seqno expected (relevant message), but even received."
2017-07-24 16:54:48 +02:00
Lonami Exo
773376ee21
Fix two more spelling mistakes
2017-07-23 18:38:27 +02:00
Lonami Exo
fe2e9f335b
Style enhancements for PR #173
2017-07-23 17:08:04 +02:00
hnikaein
c9e566342e
All download_* methods now accept streams
2017-07-20 09:37:19 +02:00
Lonami Exo
3be995b5a3
Update to v0.11.5
2017-07-11 11:38:17 +02:00
Lonami Exo
5ded836437
Update to v0.11.4
2017-07-10 16:13:45 +02:00
Lonami Exo
88c4cdfb52
Make get_input_* methods slightly smarter
2017-07-10 16:11:06 +02:00
Lonami Exo
bdee94eaf3
Implement automatic cast to InputUser too ( closes #159 )
2017-07-10 16:04:10 +02:00
Lonami Exo
1f7ac71187
Debug level should always be used for logging since it's a library
2017-07-10 15:21:20 +02:00
Lonami Exo
0119a00658
Rename no_webpage to link_preview for clarity
2017-07-07 10:37:19 +02:00
Lonami Exo
95a989be2c
Automatically cast Channel to InputChannel (similar to InputPeer)
2017-07-07 09:48:06 +02:00
Lonami Exo
f88efa7f49
Let PeerChat be casted to InputPeerChat automatically
2017-07-04 21:18:35 +02:00
Lonami Exo
8fd0d7eadd
Add a new .stringify() function to visualize TLObjects more easily
2017-07-04 21:15:47 +02:00
Lonami Exo
632fcb7c00
Ensure device model is non-empty ( closes #154 )
2017-07-04 19:47:55 +02:00
Lonami Exo
9bb6353fa3
Fix send_message using the incorrect type to return the msg_id ( #156 )
2017-07-04 16:53:07 +02:00
Lonami Exo
127e5f70d8
Update to v0.11.2
2017-07-04 10:39:57 +02:00
Lonami Exo
1f3aec589b
Let TelegramBareClient handle FileMigrateErrors instead ( closes #148 )
2017-07-04 10:21:15 +02:00
Lonami Exo
15673d9f77
Let __call__ = invoke, and encourage this new way to invoke requests
2017-07-02 11:56:40 +02:00
Lonami Exo
23e2802215
Update to layer 68
2017-06-30 11:48:45 +02:00
Lonami Exo
83c8e98448
Ensure that message ids are signed once again
2017-06-27 18:45:52 +02:00
Lonami Exo
0cfbf63eaf
Fix ConnectionResetError not flagging the socket as disconnected
2017-06-27 10:18:35 +02:00
Lonami Exo
b0173c3ec2
Use more accurate values for msg_ids
2017-06-26 11:01:20 +02:00
Lonami Exo
a5ce375358
Update to v0.11.1 and fix setup.py
2017-06-24 18:16:10 +02:00
Lonami Exo
459e988ff5
Rename rpc_n_errors dictionary to rpc_errors_n_all
2017-06-24 18:10:05 +02:00
Lonami Exo
20956b23d1
Replace super calls with simply super()
2017-06-23 10:15:11 +02:00
Lonami Exo
843c16215c
Add timeout parameter on TcpClient.connect() too
2017-06-22 19:21:33 +02:00
Lonami Exo
e4fbd87c75
Turn timeout into a property instead leaving it as a parameter
2017-06-22 11:43:42 +02:00
Lonami Exo
52a42661ee
Add timeout to connect()
2017-06-22 10:39:00 +02:00
Lonami Exo
a9a5c7e254
Use signed longs for every request_id ( #138 follow-up)
2017-06-21 10:21:09 +02:00
Lonami Exo
d58222d007
Use crc32 from zlib instead from binascii
...
It seems to be a bit faster stackoverflow.com/q/44502855
2017-06-20 11:03:46 +02:00
Lonami Exo
86358d7805
Add periodic pings if an updates thread was started (closes #138 )
2017-06-20 09:46:37 +02:00
Lonami Exo
697434be37
Don't do anything on .connect() if it's already connected
2017-06-20 09:46:37 +02:00
Lonami
daa626aa04
Merge pull request #136 from cher-nov/pr20170619_session
...
Fix bugs related to temporary sessions
2017-06-18 23:49:36 +02:00
Dmitry D. Chernov
8d9e50989b
Fix temporary Session fields not being defined
2017-06-19 07:41:47 +10:00
Dmitry D. Chernov
2af962230f
Fix error 400:CONNECTION_APP_VERSION_EMPTY when using temporary sessions
2017-06-19 07:40:35 +10:00
Hasan
c13164f5cf
Use the correct amount of random bytes in DH request
...
The official documentation says a 2048 *bit* number.
`os.urandom` takes an argument that represents the number of *bytes*.
2048 bits is 256 bytes
2017-06-18 23:38:14 +02:00
Lonami Exo
8afb0a3f6b
Rename Request.msg_id to request_msg_id to avoid name clash ( fix #122 )
2017-06-18 10:01:59 +02:00
Lonami Exo
765ae870cf
Fix connection parameters not being copied on reconnection ( #129 )
2017-06-17 22:05:34 +02:00
Lonami
be33ae4e80
Fix rpc_message_to_error failing to construct them
2017-06-17 08:25:48 +02:00
Lonami Exo
2b85463ce6
Don't ignore more possible updates on .receive_updates() ( closes #117 )
2017-06-16 15:36:47 +02:00
Goblenus
c304ee903f
Trigger reconnection on BrokenPipeError and InvalidChecksumError
2017-06-16 14:59:10 +02:00
Lonami Exo
92b4125b2b
Update to v0.11
2017-06-16 10:11:03 +02:00
Lonami Exo
e7b0c06ca5
Make .get_input_user faster when the right type is given
2017-06-16 10:01:05 +02:00
feodoran
13199f737e
Handle more cases on .get_display_name
2017-06-16 09:11:49 +02:00
Lonami Exo
86d45cc276
Improve .get_input_peer and use it only when creating requests*
...
This avoids cyclic dependencies, so types requiring an InputPeer
as a parameter will NOT convert faulty types to the right ones.
2017-06-15 17:03:59 +02:00
Lonami Exo
c02fbae5aa
Allow creating a new parallel connection ( closes #102 )
2017-06-15 15:50:44 +02:00
Lonami Exo
3fccfd40e6
Show error messages on non-specialized error classes ( closes #113 )
2017-06-15 15:25:05 +02:00
Lonami Exo
92088383f7
Fix get_message_history not returning sender on channels ( closes #110 )
2017-06-15 09:41:39 +02:00
Lonami Exo
fc915b2284
Fix get_message_history ignoring chats and enhance find_user_or_chat
2017-06-14 14:06:35 +02:00
Lonami Exo
96d8ca94cf
Move TelegramClient.list_sessions to *Session.list_session
2017-06-14 13:57:30 +02:00
Lonami Exo
d8afb7e548
Also except BlockingIOError on TcpClient.send()
2017-06-12 10:44:04 +02:00
Goblenus
f083b88f59
(Fix) Fix api_id type mismatch
2017-06-12 09:34:53 +02:00
Lonami Exo
1ca41b5854
Automatically infer the value for 'random_id' parameters
2017-06-11 19:16:59 +02:00
Lonami Exo
3ed59d08e5
Fix commit 65912f9
by properly skipping lost messages
2017-06-11 17:53:53 +02:00
Lonami Exo
65912f926b
Allow to send more than one request before receiving them ( #105 )
2017-06-11 14:58:16 +02:00
Lonami Exo
c6acd6adc5
Use only ASCII characters on the code ( closes #104 )
2017-06-10 13:39:37 +02:00
Lonami Exo
5c138977c3
Do not cancel UpdatesThread .receive() on reconnection
2017-06-10 13:16:37 +02:00
Lonami Exo
a73be04da7
Move connection parameters to the session
2017-06-10 13:15:04 +02:00
Lonami Exo
1119a2737a
Remove markdown "parser" since that's not Telethon-specific
2017-06-10 13:00:39 +02:00
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