title: I am getting message: '(#100) No matching user found', when using the facebook messenger bot sample tutorial code
body: <p>When using the same Facebook getting started guide  (<a href="https://developers.facebook.com/docs/messenger-platform/quickstart" rel="noreferrer">https://developers.facebook.com/docs/messenger-platform/quickstart</a>) </p>
  
  <p>I am getting an error on the node.js console when typing a message and sending it to the bot.</p>
  
  <pre><code>   { error: 
        { message: '(#100) No matching user found',
          type: 'OAuthException',
          code: 100,
          fbtrace_id: 'BLguK1o+VsH' } } } 
  </code></pre>
  
  <p>I have the latest version of node.js and am using Ngrok to expose my local host.</p>
  
  <p>My app.post routine is below: (It is an exact copy of the getting started guide)</p>
  
  <pre><code>router.post('/webhook', function (req, res) {
    var data = req.body;
  
    // Make sure this is a page subscription
    if (data.object == 'page') {
      // Iterate over each entry
      // There may be multiple if batched
      data.entry.forEach(function(pageEntry) {
        var pageID = pageEntry.id;
        var timeOfEvent = pageEntry.time;
  
        // Iterate over each messaging event
        pageEntry.messaging.forEach(function(messagingEvent) {
          if (messagingEvent.optin) {
            receivedAuthentication(messagingEvent);
          } else if (messagingEvent.message) {
            receivedMessage(messagingEvent);
          } else if (messagingEvent.delivery) {
            receivedDeliveryConfirmation(messagingEvent);
          } else if (messagingEvent.postback) {
            receivedPostback(messagingEvent);
          } else {
            console.log("Webhook received unknown messagingEvent: ", messagingEvent);
          }
        });
      });
  
      // Assume all went well.
      //
      // You must send back a 200, within 20 seconds, to let us know you've 
      // successfully received the callback. Otherwise, the request will time out.
    //  res.sendStatus(200);
    }
  }); 
  </code></pre>
  
  <p>Here is the receivedMessage function that is being called</p>
  
  <pre><code>function receivedMessage(event) {
    var senderID = event.sender.id;
    var recipientID = event.recipient.id;
    var timeOfMessage = event.timestamp;
    var message = event.message;
  
    console.log("Received message for user %d and page %d at %d with message:", 
      senderID, recipientID, timeOfMessage);
      console.log(JSON.stringify(message));
  
  
    var messageId = message.mid;
  
    // You may get a text or attachment but not both
    var messageText = message.text;
    var messageAttachments = message.attachments;
  
    if (messageText) {
  
      // If we receive a text message, check to see if it matches any special
      // keywords and send back the corresponding example. Otherwise, just echo
      // the text we received.
      switch (messageText) {
        case 'image':
          sendImageMessage(senderID);
          break;
  
        case 'button':
          sendButtonMessage(senderID);
          break;
  
        case 'generic':
          sendGenericMessage(senderID);
          break;
  
        case 'receipt':
          sendReceiptMessage(senderID);
          break;
  
        default:
          //getArticles(function(err,articles){
          //  sendTextMessage(senderID, articles[0].text);
          //});     
          sendTextMessage(senderID, messageText);
  
         /* client.converse('my-user-session-42', messageText, {})
              .then((data) =&gt; {
                  console.log('the question asked :' + messageText);
              sendTextMessage(senderID, data.msg);    
              console.log('Yay, got Wit.ai response: ' + JSON.stringify(data));
          }).catch(console.error);
          */
  
  
      }
    } else if (messageAttachments) {
      sendTextMessage(senderID, "Message with attachment received");
    }
  }
  </code></pre>
  
  <p>Further more here are my require statements:</p>
  
  <pre><code>const bodyParser = require('body-parser');
  var express = require('express');
  var request = require('request');
  var router = express.Router();
  const fetch = require('node-fetch');
  const {Wit, log} = require('node-wit');
  </code></pre>
  
  <p>Here is the rest of the functions used:</p>
  
  <pre><code>function sendTextMessage(recipientId, messageText) {
    var messageData = {
      recipient: {
        id: recipientId
      },
      message: {
        text: messageText
      }
    };
  
    callSendAPI(messageData);
  }
  
  function callSendAPI(messageData) {
    request({
      uri: 'https://graph.facebook.com/v2.6/me/messages',
      qs: { access_token: PAGE_ACCESS_TOKEN },
      method: 'POST',
      json: messageData
  
    }, function (error, response, body) {
      if (!error &amp;&amp; response.statusCode == 200) {
        var recipientId = body.recipient_id;
        var messageId = body.message_id;
  
        console.log("Successfully sent generic message with id %s to recipient %s", 
          messageId, recipientId);
      } else {
        console.error("Unable to send message.");
        console.error(response);
        console.error(error);
      }
    });  
  }
  </code></pre>
  
  <p>So I read somewhere that it all has to do with page ids  or the way that facebook processes ints but I'm a little confused.</p>
  
  <p>Any help would be much appreciated.</p>