button
A text followed by one or more buttons.
Last updated
Was this helpful?
A text followed by one or more buttons.
Last updated
Was this helpful?
Was this helpful?
button(text=String, buttons=Array/Hash, params=Hash)
@reply.button(
"Hello, how can I help today?",
[
{
title: "Create an account",
payload: "profile/create_account"
},
{
title: "Read TOS",
payload: "read_tos"
},
{
title: "Feature Product",
payload: set_payload("products/view", { product_id: 10 })
}
]
)
user.notification.button(
"Hello, how can I help today?",
[
{
title: "Create an account",
payload: "profile/create_account"
},
{
title: "Read TOS",
payload: "read_tos"
},
{
title: "Feature Product",
payload: set_payload("products/view", { product_id: 10 })
}
]
)
user.notification.send()
"read_tos"
"profile/create_account"
set_payload("products/view", { product_id: 10 })
text
Required.
The text displayed above the buttons.
buttons
Required. One or several buttons that can be payloads or links in some platforms.
params
Optional. Extra parameters that may vary between platforms.
Below are some unified or built-in parameters from this framework.
typed_postbacks
Regardless of the value of config.typed_postbacks
in the main configuration, this feature can be enabled/disabled independently passing this parameter with true or false.
@reply.button(
"Hello, how are you today?",
[
{
title: "Good",
payload: "good_mood"
},
{
title: "Bad",
payload: "bad_mood"
}
],
{ typed_postbacks: true }
)
slice_replies
Only available in Telegram, it allows displaying a defined amount of buttons in rows.
@reply.button(
"Choose a number from 1 to 10",
(1..10).map{|number|
{
title: "Number: #{number}",
payload: set_payload(:number_response,{ number: number})
}
},
{ slice_replies: 3 }
)