* 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