Text cards

meya.text_suggestions

Outputs text and suggested responses. Renders on each integration differently, depending on the specifications of the integration (e.g. on Messenger suggestions are buttons, on Kik they are keyboard suggested responses).

Property

Description

text

the text to output

Required

suggestions

a list of suggested responses

mode

either quick_reply or buttons

  • Optional* Default: quick_reply

passthru

automatically advance without waiting on user

  • Optional* Default: false

block

treat any non-button press as a user input. This will trigger the no_match action, so you must implement the transition as you would with an input.

  • Optional* Default: false

output

the key used to store the data for subsequent steps in the flow

  • Optional* Default: value

scope

where to store the data. One of flow, user, bot.

  • Optional* Default: flow

Example of text with suggestions used in flow and a custom component.

📘

Handling non-button presses

If you want your bot to listen for any input other than buttons, see this example.

component: meya.text_suggestions properties: text: What is your favorite elelphant? mode: quick_reply suggestions: - African Elephant - Asian Elephant - Woolly Mammoth
from meya.cards import TextWithButtons, Button text = 'What is your favorite elelphant?' buttons = [ Button(text='African Elephant'), Button(text='Asian Elephant'), Button(text='Woolly Mammoth') ] card = TextWithButtons(text=text, buttons=buttons, mode="quick_reply")
744

meya.text_buttons

Similar to meya.text_suggestions. Uses buttons instead of suggestions.

Property

Description

text

the text to output

  • Required* (Messenger limit - 640 characters)

buttons

an array of Buttons

mode

either quick_reply or buttons

  • Optional* Default: buttons

passthru

automatically advance without waiting on user

  • Optional* Default: false

block

treat any non-button press as a user input. This will trigger the no_match action, so you must implement the transition as you would with an input.

  • Optional* Default: false

output

the key used to store the data for subsequent steps in the flow

  • Optional* Default: value

scope

where to store the data. One of flow, user, bot.

  • Optional* Default: flow

Example oftext_buttons used in a flow - YAML + Python

component: meya.text_buttons properties: text: What is your favorite elelphant? mode: buttons buttons: - text: African Elephant action: next - text: Asian Elephant action: next - text: Woolly Mammoth action: extinct
from meya.cards import TextWithButtons, Button text = 'What is your favorite elelphant?' buttons = [ Button(text='African Elephant', action="next"), Button(text='Asian Elephant', action="next"), Button(text='Woolly Mammoth', action="extinct") ] card = TextWithButtons(text=text, buttons=buttons, mode="buttons") message = self.create_message(card=card)

Exampletext_buttons with transitions

states: text_buttons_state: component: meya.text_buttons properties: text: Pick your favorite football player output: player buttons: - text: Lionel Messi action: messi - text: Cristiano Ronaldo action: ronaldo transitions: messi: messi_state ronaldo: ronaldo_state messi_state: component: meya.image properties: image_url: 'https://upload.wikimedia.org/wikipedia/commons/f/f2/Lionel_Messi.png' return: true ronaldo_state: component: meya.image properties: image_url: 'https://upload.wikimedia.org/wikipedia/commons/d/d5/Cristiano_Ronaldo_20120609.jpg' return: true