* Additions
+ send_as and effect added to send_message and related methods.
+ MessageMediaGeoLive is now recognized for auto-input conversion.
* Enhancements
+ Improved wording when using a likely unintended session file.
+ Improved behaviour for matching Markdown links.
+ A truly clean update-state is now fetched upon login.
+ Time offset is now updated more reliably after connecting. This should
fix legitimate “message too old/new” issues.
* Bug fixes
+ ChannelParticipantLeft is now skipped in iter_participants.
+ spoiler flag was lost on MessageMediaPhoto auto-input conversion.
+ KeyboardButtonCopy is now recognized as an inline button.
+ Downloading web-documents should now work again. Note that this still
fetches the file from the original server.
- Add patch stop-using-event_loop-fixture.patch:
* Stop using removed event_loop fixture.
- Support both upper and lower case metadata directory names.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=34
- Update to 1.39.0
* fix(session): persist session after `session.set_dc`
* Update to layer 195
* Avoid error when trying to reset deadline for no msgbox entries
* Updated to Layer 196 (#4525)
* Add missing parameters to Message constructor (#4529)
* Fix IOError with some image modes in photo resize This fixes image
compression with mode "P" (potentially others) which is necessary
as the server has erroneous alpha color with some types of images
(mode "P" for example). This also properly applies the background
argument that may be passed to _resize_photo_if_needed by always
compressing images with alpha regardless of whether the server
will compress the image for us.
* Document drop_author and add drop_media_captions drop_author is
already supported but is undocumented. drop_media_captions for
consistency with drop_author being implemented.
* Respect receive_updates=False
* Improve edit_message message type hint This also allows
utils.get_message_id to get the ID of InputMessageID.
* Update to layer 198
* Unconditionally match text and link text in markdown Fixes cases
where there's a nested [] in the text by matching until "](" is
reached. This doesn't match newlines in URLs because that makes
no sense.
* Fix overlapping URLs and improve overlapping in md Also remove the
unused overlap function.
* Make markdown URL regex less greedy Fixes multiple URLs in a single
message.
* fix: support batch sending of image URLs and video URLs in albums
* Consider range list-like This allows you to pass range() to things
OBS-URL: https://build.opensuse.org/request/show/1253785
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=30
* Formatting entities misbehaved with albums.
* Sending a Message object with a file did not use the new file.
- update to 1.37.0:
* Support for CDN downloads should be back. Telethon still
prefers no CDN by default.
* FloodWaitPremium should now be handled like any other floodwaits.
* Fixed edge-case when using get_messages(..., reverse=True).
* ConnectionError when using proxies should be raised properly.
- update to 1.36.0:
* Certain updates, such as :tl:`UpdateBotStopped`, should now be
processed reliably.
- update to 1.35.0:
* "Custom secret support" should work with TcpMTProxy.
* Some type hints should now be more accurate.
* Session path couldn't be a pathlib.Path or None.
* Python versions older than 3.9 should now be supported again.
* Readthedocs should hopefully build the v1 documentation again.
- update to 1.34.0:
* reply_to_chat and reply_to_sender are now in Message.
* parse_mode with a custom instance containing both parse and
unparse should now work.
* Parsing and unparsing message entities should now behave better
in certain corner-cases.
- update to 1.33.0:
* webbrowser is now imported conditionally, to support niche environments.
Library should now retry on the suddenly-common TimedOutError.
- update to 1.32.0:
* new and changed raw API methods
- update to 1.31.0:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=26
- Update to version 1.26.0
* Bump to v1.26 and update layer to 149
Sort updates preemptively
Closes#3936.
There are two changes made to ensure the first update in a channel
cannot be lost, first by always sorting updates before applying pts,
and second by cautiously initializing the local pts if the client
had no pts known beforehand.
It might be possible to cleanup the handling of possible gaps now
that updates are always sorted, but that requires more thought.
OBS-URL: https://build.opensuse.org/request/show/1040417
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=22
* Add note on 2FA for qr_login
* Handle ServerError while getting difference
* Re-raise unhandled errors that occur during update handling
* Document the client instance cannot be used after logout
* Add a hard timeout on disconnect
* Update some raw API examples
* del_surrogate for HTML inline URLs
* Ignore ChannelParticipantLeft during iter_participants
* Wrap buttons typehint in Optional
* Fix events.Album did not have chat in PM
* Ignore aggressive parameter in iter_participants
* Replace mentions of master branch with v1
* Fix get_permissions for small group chats
* Manually construct reply_to for send_message result
* Strip 0-length message entities
* Make custom, functions and types proper modules
* Trust pts values during apply_difference
* Do not remove ENTRY_SECRET during apply difference
* Handle auth errors during get difference
* Recognize invite links with plus sign prefix
* Document new known RPC errors
* Handle CancelledError inside update loop
* Make use of AlbumHack for all albums
* Fix UpdateShort from socket was not unboxed
* Fix some MD parsing of inline URLs (#3920)
* Fix raw API docs generation
- Update to v1.25
* Remove missed async keywords from the revert
* Revert "Add missing async keywords in SQLiteSession"
* Revert "Make sessions async"
OBS-URL: https://build.opensuse.org/request/show/1005498
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=17
- New schema and QoL improvements (v1.21)
- Scheme layer used: 125
- View new and changed raw API methods.
- Not many changes in this release, mostly the layer
change. Lately quite a few people have been reporting
TypeNotFoundError, which occurs when the server sends types
that it shouldn’t. This can happen when Telegram decides
to add a new, incomplete layer, and then they change the
layer without bumping the layer number (so some constructor
IDs no longer match and the error occurs). This layer
change should fix it.
- Additions
- Message.click() now supports a password parameter,
needed when doing things like changing the owner of a
bot via @BotFather.
- Enhancements
- tgcrypto will now be used for encryption when
installed.
- Bug fixes
- Message.edit wasn’t working in your own chat on
events other than NewMessage.
- client.delete_dialog() was not working on chats.
- events.UserUpdate should now handle channels’ typing
status.
- InputNotifyPeer auto-cast should now work on other
TLObject.
- For some objects, False was not correctly serialized.
- New schema and QoL improvements (v1.20)
- Scheme layer used: 124
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=12
* Breaking Changes
+ Message.from_id is now a :tl:`Peer`, not int! If you want the marked sender ID (much like old behaviour), replace all uses of .from_id with .sender_id. This will mostly work, but of course in old and new versions you have to account for the fact that this sender may no longer be a user.
+ You can no longer assign to Message.reply_to_msg_id <telethon.tl.custom.message.Message.reply_to_msg_id> and Message.to_id <telethon.tl.custom.message.Message.to_id> because these are now properties that offer a "view" to the real value from a different field.
+ Answering inline queries with a photo or document will now send the photo or document used in the resulting message by default. Not sending the media was technically a bug, but some people may be relying on this old behaviour. You can use the old behaviour with include_media=False.
* Additions
+ New raise_last_call_error parameter in the client constructor to raise the same error produced by the last failing call, rather than a generic ValueError.
+ New formatting_entities parameter in client.send_message() <telethon.client.messages.MessageMethods.send_message>, and client.send_file() <telethon.client.uploads.UploadMethods.send_file> to bypass the parse mode and manually specify the formatting entities.
+ New client.get_permissions() <telethon.client.chats.ChatMethods.get_permissions> method to query a participant's permissions in a group or channel. This request is slightly expensive in small group chats because it has to fetch the entire chat to check just a user, so use of a cache is advised.
+ Message.click() <telethon.tl.custom.message.Message.click> now works on normal polls!
+ New local_addr parameter in the client constructor to use a specific local network address when connecting to Telegram.
+ client.inline_query() <telethon.client.bots.BotMethods.inline_query> now lets you specify the chat where the query is being made from, which some bots need to provide certain functionality.
+ You can now get comments in a channel post with the reply_to parameter in client.iter_messages() <telethon.client.messages.MessageMethods.iter_messages>. Comments are messages that "reply to" a specific channel message, hence the name (which is consistent with how Telegram's API calls it).
* Enhancements
+ Updated documentation and list of known errors.
+ If hachoir is available, the file metadata can now be extracted from streams and in-memory bytes.
+ The default parameters used to initialize a connection now match the format of those used by Telegram Desktop.
+ Specifying 0 retries will no longer cause the library to attempt to reconnect.
+ The library should now be able to reliably download very large files.
+ Global search should work more reliably now.
+ Old usernames are evicted from cache, so getting entities by cached username should now be more reliable.
+ Slightly less noisy logs.
+ Stability regarding transport-level errors (transport flood, authorization key not found) should be improved. In particular, you should no longer be getting unnecessarily logged out.
+ Reconnection should no longer occur if the client gets logged out (for example, another client revokes the session).
+ Bug fixes
+ In some cases, there were issues when using events.Album <telethon.events.album.Album> together with events.Raw <telethon.events.raw.Raw>.
+ For some channels, one of their channel photos would not show up in client.iter_profile_photos() <telethon.client.chats.ChatMethods.iter_profile_photos>.
+ In some cases, a request that failed to be sent would be forgotten, causing the original caller to be "locked" forever for a response that would never arrive. Failing requests should now consistently be automatically re-sent.
+ The library should more reliably handle certain updates with "empty" data.
+ Sending documents in inline queries should now work fine.
+ Manually using client.sign_up <telethon.client.auth.AuthMethods.sign_up> should now work correctly, instead of claiming "code invalid".
+ Special mention to some of the other changes in the 1.16.x series:
+ The thumb for download_media now supports both str and :tl:`VideoSize`.
+ Thumbnails are sorted, so -1 is always the largest.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=10
* Added support to force_file on any media, including things that were not
possible before like .webp files.
* Sending a copy of messages with polls will now work when possible.
* The library now automatically retries on inter-dc call errors
* Square brackets removed from IPv6 addresses. This may fix IPv6 support.
* New client.qr_login().
* message.click now lets you click on buttons requesting phone or location.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Telethon?expand=0&rev=8