Skip to content

1.22.0

Compare
Choose a tag to compare
@david-lev david-lev released this 16 Jun 16:21
· 66 commits to master since this release

What's Changed

Update with pip: pip3 install -U pywa

  • [handlers] introducing new way to help split flow endpoint logic to multiple handlers (see example)
  • [client] adding add_flow_request_handler method to register FlowRequestHandlers
  • [flows] pop flow_token from FlowCompletion.response
  • [docs] update examples
from pywa import WhatsApp, types

wa = WhatsApp(...)

@wa.on_flow_request("/my-flow")
def my_flow_handler(_: WhatsApp, flow: types.FlowRequest) -> types.FlowResponse | None:
    ...

@my_flow_handler.on(action=types.FlowRequestActionType.INIT)
def on_init(_: WhatsApp, request: types.FlowRequest) -> types.FlowResponse:
    ...

@my_flow_handler.on(action=types.FlowRequestActionType.DATA_EXCHANGE, screen="SIGN_UP")
def on_signup(_: WhatsApp, request: types.FlowRequest) -> types.FlowResponse:
    ...

@my_flow_handler.on(
    action=types.FlowRequestActionType.DATA_EXCHANGE,
    screen="LOGIN",
    data_filter=lambda _, data: not user_repository.exists(data["email"]),
)
def if_not_registered(_: WhatsApp, request: types.FlowRequest) -> types.FlowResponse | None:
    ...

Full Changelog: 1.21.0...1.22.0