title: Facebook Instant game bot message often results in "Cannot send Instant Game message to user at this time"
body: <p>I'm making a Facebook instant game, and am sending myself test messages via the associated bot. </p>
  
  <p><strong>It works. But not always, why?</strong></p>
  
  <p>Very often I get this:</p>
  
  <pre><code>{
      "error": {
          "message": "(#100) Cannot send Instant Game message to user at this time.",
          "type": "OAuthException",
          "code": 100,
          "error_subcode": 2018144,
          "fbtrace_id": "DNZhKZlP83D"
      }
  }
  </code></pre>
  
  <p>This error code is not listed in the <a href="https://developers.facebook.com/docs/messenger-platform/reference/send-api/error-codes" rel="nofollow noreferrer">error code documentation</a>.</p>
  
  <p>I suppose it could be some message sending limit, but I would assume that as the listed developer of the app I would be exempt from any limits.</p>
  
  <p><strong>More details just in case they are relevant</strong></p>
  
  <p>I have subscribed to the webhooks, and created a page associated with my instant game app and have the access token for it. The user I am trying to message is me, listed as the developer.</p>
  
  <p>When I receive a game_play event such as:</p>
  
  <pre><code>{
      "object": "page",
      "entry": [{
          "id": "189899011738553",
          "time": 1521899151513,
          "messaging": [{
              "recipient": {
                  "id": "189899011738553"
              },
              "timestamp": 1521899151513,
              "sender": {
                  "id": "1647209385355472"
              },
              "game_play": {
                  "game_id": "176650212970169",
                  "player_id": "1293384810761815"
              }
          }]
      }]
  }
  </code></pre>
  
  <p>I find the sender ID, and send a response like so:</p>
  
  <pre><code>{
      "message": {
          "attachment": {
              "type": "template",
              "payload": {
                  "template_type": "generic",
                  "elements": [{
                      "buttons": [{
                          "type": "game_play",
                          "title": "Play"
                      }],
                      "title": "Hello World"
                  }]
              }
          }
      },
      "recipient": {
          "id": "1647209385355472"
      }
  }
  </code></pre>
  
  <p>Here's the cURL version:</p>
  
  <pre><code>curl -X POST \
    'https://graph.facebook.com/me/messages?access_token=MY_ACCESS_TOKEN' \
    -H 'Cache-Control: no-cache' \
    -H 'Content-Type: application/json' \
    -d '{"message": {"attachment": {"type": "template", "payload": {"template_type": "generic", "elements": [{"buttons": [{"type": "game_play", "title": "HELLO"}], "title": "HELLO WORLD"}]}}}, "recipient": {"id": "1647209385355472"}}'
  </code></pre>
  
  <p>And just to show the access token is valid, despite the "OAuthException", and that it does really sometimes work:</p>
  
  <p><a href="https://i.stack.imgur.com/pou3u.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/pou3u.png" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/vb21S.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vb21S.png" alt="enter image description here"></a></p>