sendMessage не определено в Facebook Мгновенные игры Webhook - PullRequest
0 голосов
/ 11 марта 2019

Я развернул webhook для запуска бота Messenger, когда игрок выходит из моей игры. Я пытаюсь реализовать это: https://developers.facebook.com/docs/games/instant-games/getting-started/bot-setup/#step-3--respond-to-messaging-game-plays-webhooks

Все остальное работает, но я получаю сообщение об ошибке при развертывании сценария в sendMessage. Не может сказать:

2019-03-11T15:11:16.289939+00:00 app[web.1]: ReferenceError: sendMessage is not defined

Хотя я знаю, что эта ошибка связана с тем, что sendMessage не определено где-либо в скрипте, но после просмотра всей документации я не уверен, что именно писать в sendMessage, чтобы скрипт работал.

Вот мой конечный пункт для webhook:

// Creates the endpoint for our webhook 
app.post('/webhook', (req, res) => {  

let body = req.body;
console.log("body post : "+JSON.stringify(body));

// Checks this is an event from a page subscription
if (body.object === 'page') {

  // Iterates over each entry - there may be multiple if batched
  body.entry.forEach(function(entry) {
    console.log(JSON.stringify(entry));

    // Gets the message. entry.messaging is an array, but 
    // will only ever contain one message, so we get index 0
    let event = entry.messaging[0];
      // Get the sender PSID
      let sender_psid = event.sender.id;
      console.log('Sender PSID: ' + sender_psid);

      if(event.game_play){
        var senderId = event.sender.id; // Messenger sender id
        var playerId = event.game_play.player_id; // Instant Games player id
        var contextId = event.game_play.context_id; 
        var payload = event.game_play.payload;
          sendMessage(
            senderId, 
            contextId, 
            'Congratulations on your victory!', 
            'Play Again'
          );
      } else if (event.postback) {
        handlePostback(sender_psid, event.postback);
      }
  });

  // Returns a '200 OK' response to all requests
  res.status(200).send('EVENT_RECEIVED');
} 
});

Пожалуйста, помогите

1 Ответ

1 голос
/ 12 марта 2019

Вы вызываете метод sendMessage, который не имеет реализации:

sendMessage(
  senderId, 
  contextId, 
  'Congratulations on your victory!', 
  'Play Again'
);

Необходимо убедиться, что у вас есть реализация для этого метода, использующая Messenger Send API .

...