Доставить пользователю ответ Facebook Messenger на основе события обратной передачи в Rails - PullRequest
0 голосов
/ 10 июня 2018

у нас возникают некоторые проблемы с нашим кодом, и мы не можем найти человека, который уже сталкивался с той же проблемой с Rails.

Мы пытаемся внедрить чат-мессенджер facebook в Rails, и мы уже застряли на первом шаге.Мы попытались реализовать кнопку начала работы и, когда действие нажатия на эту кнопку отправляет событие обратной передачи в веб-крючок, попытаться доставить ответ на это событие, который будет ответом пользователю (с быстрыми ответами).

bot-messenger/bot/bot.rb

Facebook::Messenger::Profile.set({
   get_started: {
     payload: 'LETS_START'
   }
 }, access_token: ENV['ACCESS_TOKEN'])


Bot.on :postback do |postback|
  postback.sender    # => { 'id' => '1008372609250235' }
  postback.recipient # => { 'id' => '2015573629214912' }
  postback.sent_at   # => 2016-04-22 21:30:36 +0200

 if postback.payload == "LETS_START"
    postback.deliver(
      message: {
        text: "Hi! I'm your bot. How do you feel today?"
        quick_replies: [
        {
          content_type: 'text',
          title: 'Sévèrement stressé(e)!',
          payload: 'SEVERELY_STRESSED'
        },
        {
          content_type: 'text',
          title: 'Moyennement stressé(e)!',
          payload: 'SOMEWHAT_STRESSED'
        },
        {
          content_type: 'text',
          title: 'Peu/pas stressé(e)!',
          payload: 'NOT_STRESSED'
        }
        ]
      }
    )
  end

  if message.payload == "SEVERELY_STRESSED" || "SOMEWHAT_STRESSED"
    puts "quite bad"
  elsif postback.payload == "NOT_STRESSED"
    puts "cool"
  end
end

При перезапуске нашего разговора с ботом кнопка «Начало работы» отображается правильно, но после нажатия на нее ничего не происходит.Не могли бы вы помочь?

Заранее большое спасибо!

1 Ответ

0 голосов
/ 15 июня 2018

Прежде всего, вам нужно настроить URL-адрес веб-крючка, указывающий на ваш сервер.См. официальная документация .Если вы разрабатываете своего бота на локальном компьютере, вы можете использовать ngrok для маршрутизации входящих веб-крючков с Facebook на локальный компьютер.Ngrok показывает вам все входящие запросы с полезной нагрузкой HTTP, чтобы вы могли соответствующим образом изменить свой код.

...