Pyrogram v0.9.3#

Bypass ISP Restrictions, Performance Optimizations and more#

What’s New#

  • Pyrogram now uses TCPAbridgedO protocol by default. TCPAbridgedO is an Obfuscated packet-level protocol that helps bypass some DPI and thus allowing Pyrogram to work fine even in case your ISP is trying to block Telegram.

  • The Dispatcher has been reworked and optimized for better performance.

  • Message.mentioned field and Filters.mentioned filter useful for handling messages that contain mentions to you (contributed by @Furoin in #154).

  • Filters.chat and Filters.user can now accept “me” and “self” as arguments, thus enabling an easy way to filter yourself and your own chat (contributed by @Furoin in #155 and #157).

  • Message.download() bound method missing arguments are now added to match Client.download_media() (contributed by @VANKINEENITAWRUN in #156).

  • Message.edit() bound method to make message edits less verbose code-wise.

  • MESSAGE_DELETE_FORBIDDEN error.

  • Message.empty field to tell empty (deleted or non-existent) messages apart.

  • Message.service field and a more efficient Filters.service to tell service messages apart.

  • Message.media field and a more efficient Filters.media to tell media messages apart.

  • Decorators of different Client instances can now be stacked on top of the same callback function. E.g.:

    ...
    
    @app1.on_message(...)
    @app2.on_message(...)
    @app3.on_message(...)
    def on_message(client, message):
        ...
    

Bug Fixes#

  • Fixed a rare MESSAGE_IDS_EMPTY error raised in case of a message replying to another was pinned and the replied message was deleted at the same time.