Decorators

Decorators are able to register callback functions for handling updates in a much easier and cleaner way compared to Handlers; they do so by instantiating the correct handler and calling add_handler() automatically. All you need to do is adding the decorators on top of your functions.

from pyrogram import Client

app = Client("my_account")


@app.on_message()
def log(client, message):
    print(message)


app.run()

Index


Details

@pyrogram.Client.on_bot_business_connect

Decorator for handling bot business connection.

This does the same thing as add_handler() using the BotBusinessConnectHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of stories to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_message

Decorator for handling new messages.

This does the same thing as add_handler() using the MessageHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of messages to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_bot_business_message

Decorator for handling new bot business messages.

This does the same thing as add_handler() using the BotBusinessMessageHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of messages to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_edited_message

Decorator for handling edited messages.

This does the same thing as add_handler() using the EditedMessageHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of messages to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_edited_bot_business_message

Decorator for handling edited messages.

This does the same thing as add_handler() using the EditedBotBusinessMessageHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of messages to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_callback_query

Decorator for handling callback queries.

This does the same thing as add_handler() using the CallbackQueryHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of callback queries to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_shipping_query

Decorator for handling shipping queries.

This does the same thing as add_handler() using the ShippingQueryHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of callback queries to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_pre_checkout_query

Decorator for handling pre-checkout queries.

This does the same thing as add_handler() using the PreCheckoutQueryHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of callback queries to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_message_reaction_updated

Decorator for handling reaction changes on messages.

This does the same thing as add_handler() using the MessageReactionUpdatedHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of updates to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_message_reaction_count_updated

Decorator for handling anonymous reaction changes on messages.

This does the same thing as add_handler() using the MessageReactionCountUpdatedHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of updates to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_inline_query

Decorator for handling inline queries.

This does the same thing as add_handler() using the InlineQueryHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of inline queries to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_chosen_inline_result

Decorator for handling chosen inline results.

This does the same thing as add_handler() using the ChosenInlineResultHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of chosen inline results to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_chat_member_updated

Decorator for handling event changes on chat members.

This does the same thing as add_handler() using the ChatMemberUpdatedHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of updates to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_chat_join_request

Decorator for handling chat join requests.

This does the same thing as add_handler() using the ChatJoinRequestHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of updates to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_deleted_messages

Decorator for handling deleted messages.

This does the same thing as add_handler() using the DeletedMessagesHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of messages to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_edited_bot_business_message

Decorator for handling edited messages.

This does the same thing as add_handler() using the EditedBotBusinessMessageHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of messages to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_user_status

Decorator for handling user status updates. This does the same thing as add_handler() using the UserStatusHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of UserStatus updated to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_story

Decorator for handling new stories.

This does the same thing as add_handler() using the StoryHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of stories to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_poll

Decorator for handling poll updates.

This does the same thing as add_handler() using the PollHandler.

Parameters:
  • filters (filters, optional) – Pass one or more filters to allow only a subset of polls to be passed in your function.

  • group (int, optional) – The group identifier, defaults to 0.

@pyrogram.Client.on_disconnect

Decorator for handling disconnections.

This does the same thing as add_handler() using the DisconnectHandler.

@pyrogram.Client.on_raw_update

Decorator for handling raw updates.

This does the same thing as add_handler() using the RawUpdateHandler.

Parameters:

group (int, optional) – The group identifier, defaults to 0.