button
A text followed by one or more buttons.
button(text=String, buttons=Array/Hash, params=Hash)
button(text=String, buttons=Array/Hash, params=Hash)
Platforms
Platform
Supported
Native Name
Usage
Reply
@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 })
}
]
)
On-Demand
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()
Payload formats
To the same context
"read_tos"
To a different context
"profile/create_account"
With params
set_payload("products/view", { product_id: 10 })
Arguments
Name
Description
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.
Extra params
Below are some unified or built-in parameters from this framework.
typed_postbacks
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
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 }
)
Last updated
Was this helpful?