我想在我的Facebook Messenger機器人Ruby中定義一個'Payload'。我的用例是,當用戶看到結構化的內容(一個帶按鈕的故事)並單擊按鈕,而不是將它們發送到URL時,我想打我的webhook並返回更多結構化的內容。定義Payload Facebook Messenger Ruby
所以,我已經嘗試了幾次迭代,不知道我在哪裏被絆倒。
messaging_event["entry"].first["messaging"].each do |msg|
puts msg
sender = msg["sender"]["id"]
if msg["message"] && msg["message"]["text"]
payload = msg["message"][「payload」]
我做了添加文本非常類似的東西,這是:
post '/webhook/' do
messaging_event = JSON.parse(request.body.read)
puts messaging_event
messaging_event["entry"].first["messaging"].each do |msg|
puts msg
sender = msg["sender"]["id"]
if msg["message"] && msg["message"]["text"]
text = msg["message"]["text"]
puts "Sender ID: #{sender}, Text: #{text}"
所以,在這一點上,我不知道如果我需要,我加入了短信活動開始進一步像變形點焊的有效載荷:
def payload(sender, payload)
data = {
recipient: { id: sender },
message: payload
}
send_message(data)
end
或者,如果我只需要創建一個變量,並調用就像我的模塊對象內的變量:
module Messages
SIMPLE_ONE_BUTTON_PAYLOAD = {
"attachment":{
"type":"template",
"payload":{
"template_type":"button",
"text":"Here's a simple button message",
"buttons":[
"type":"postback",
"title":"Button One",
"payload":"[variable I need to call]",
]
}
}
}
end
所以,這裏真的有兩件事 - 我是否需要負載消息傳遞事件並定義有效負載以及在對象內需要調用什麼?這裏的任何想法或反饋將會非常有幫助。提前致謝!
不知道我是不是太晚了,但是我創建了一個gem來處理這些用例:https://github.com/tinkerbox/message_quickly – Jaryl