Support for parallel connections
Pre-release
Pre-release
Scheme layer used: 66 |
This update brings a lot of changes, so it would be nice if you could read the whole change log!
Things that may break your code
- Every Telegram error has now its own class, so it's easier to fine-tune your
except
's. - Markdown parsing is not part of Telethon itself anymore, although there are plans to support it again through a some external module.
- The
.list_sessions()
has been moved to theSession
class instead. - The
InteractiveTelegramClient
is not shipped withpip
anymore.
New features
- A new, more lightweight class has been added. The
TelegramBareClient
is now the base of the normalTelegramClient
, and has the most basic features. - New method to
.create_new_connection()
, which can be ran in parallel with the original connection. This will return the previously mentionedTelegramBareClient
already connected. - Any file object can now be used to download a file (for instance, a
BytesIO()
instead a file name). - Vales like
random_id
are now automatically inferred, so you can save yourself from the hassle of writinggenerate_random_long()
everywhere. Same applies to.get_input_peer()
, unless you really need the extra performance provided by skipping oneif
if called manually. - Every type now features a new
.to_dict()
method.
Bug fixes
- Received errors are acknowledged to the server, so they don't happen over and over.
- Downloading media on different data centers is now up to x2 faster, since there used to be an
InvalidDCError
for each file part tried to be downloaded. - Lost messages are now properly skipped.
- New way to handle the result of requests. The old
ValueError
"The previously sent request must be resent. However, no request was previously sent (possibly called from a different thread)." should not happen anymore.
Minor highlights
- Some fixes to the
JsonSession
. - Fixed possibly crashes if trying to
.invoke()
aRequest
while.reconnect()
was being called on theUpdatesThread
. - Some improvements on the
TcpClient
, such as not switching between blocking and non-blocking sockets. - The code now uses ASCII characters only.
- Some enhancements to
.find_user_or_chat()
and.get_input_peer()
.