Message Filters#
Usefully filters to use in your handlers.
>>> from pywa import filters as fil
>>> from pywa import WhatsApp, types
>>> wa = WhatsApp(...)
>>> @wa.on_message(fil.text.command("start"))
... def on_hi_msg(_: WhatsApp, m: types.Message):
... print("This is a welcome message!")
- filters.forwarded = <pywa.filters.forwarded object>#
- filters.forwarded_many_times = <pywa.filters.forwarded_many_times object>#
- filters.reply = <pywa.filters.reply object>#
- pywa.filters.replays_to(*msg_ids)#
Filter for messages that reply to any of the given message ids.
>>> replays_to("wamid.HBKHUIyNTM4NjAfiefhwojfMTNFQ0Q2MERGRjVDMUHUIGGA=")
- Return type:
Filter
- filters.has_referred_product = <pywa.filters.has_referred_product object>#
- filters.text = <pywa.filters.text object>#
- filters.is_command = <pywa.filters.is_command object>#
- pywa.filters.command(*cmds, prefixes='/!', ignore_case=False)#
Filter for text messages that are commands.
>>> command("start", "hello", prefixes="/", ignore_case=True)
- filters.media = <pywa.filters.media object>#
- pywa.filters.mimetypes(*mmtps)#
Filter for media messages that match any of the given mime types.
>>> mimetypes("application/pdf", "image/png")
- Return type:
Filter
- pywa.filters.extensions(*exts)#
Filter for media messages that match any of the given extensions.
>>> extensions(".pdf", ".png")
- Return type:
Filter
- filters.has_caption = <pywa.filters.media_has_caption object>#
- filters.image = <pywa.filters.image object>#
- filters.video = <pywa.filters.video object>#
- filters.audio = <pywa.filters.audio object>#
- filters.audio_only = <pywa.filters.audio_only object>#
- filters.voice = <pywa.filters.voice object>#
- filters.document = <pywa.filters.document object>#
- filters.sticker = <pywa.filters.sticker object>#
- filters.animated_sticker = <pywa.filters.animated_sticker object>#
- filters.static_sticker = <pywa.filters.static_sticker object>#
- filters.reaction = <pywa.filters.reaction object>#
- filters.reaction_added = <pywa.filters.reaction_added object>#
- filters.reaction_removed = <pywa.filters.reaction_removed object>#
- pywa.filters.reaction_emojis(*emojis)#
Filter for custom reaction messages. pass emojis as strings.
>>> reaction_emojis("π","π")
- Return type:
Filter
- filters.unsupported = <pywa.filters.unsupported object>#
- filters.location = <pywa.filters.location object>#
- filters.current_location = <pywa.filters.current_location object>#
- pywa.filters.location_in_radius(lat, lon, radius)#
Filter for location messages that are in a given radius.
>>> location_in_radius(lat=37.48508108998884, lon=-122.14744733542707, radius=1)
- filters.contacts = <pywa.filters.contacts object>#
- filters.contacts_has_wa = <pywa.filters.contacts_any_has_wa object>#
- filters.order = <pywa.filters.order object>#