Yoctol / bottender

⚡️ A framework for building conversational user interfaces.
https://bottender.js.org
MIT License
4.19k stars 332 forks source link

[QUESTION] Set webhooks on custom server bottender v1.4 #867

Open RomeHein opened 3 years ago

RomeHein commented 3 years ago

Describe the bug Hi, first thanks for your amazing work! I've an issue starting a bot with a custom express server. I think I'm missing a point. I've followed this exemple from the documention v1.4 My code is available here on my public repo: https://github.com/RomeHein/PassPass/tree/bottender

My issue is that whenever I run the command: npx bottender messenger webhook set

I got this error:

⚠ We can not find the webhook callback URL you provided.
? Are you using ngrok (get URL from ngrok server on http://127.0.0.1:4040)? Yes
✖ Failed to set Messenger webhook
⚠ connect ECONNREFUSED 127.0.0.1:4040

When I try something like this: npx bottender messenger webhook set --webhook https://passpass2000bla.ngrok.io

I get this error:

✖ status: 400
✖ data: {
  "error": {
    "message": "(#2200) Callback verification failed with the following errors: HTTP Status Code = 404; HTTP Message = Not Found",
    "type": "OAuthException",
    "code": 2200,
    "fbtraceId": "AwNgerefgehpXjJMljJvwwef423f"
  }
}

☝️ When I run npm run dev I don't get the webhooks callback address I used to get when running bottender directly without a custom server.

📚 I'm not sure but I might need to start a ngrok server, in that case it means the documentation is missing some step in order to get something running without having to search.

EDIT:

So in order to make it work properly I had to do these steps in additions of the documentation:

npm install ngrok -g
ngrok http 5000

After this the normal procedure works fine (npx bottender messenger webhook set). I think that something the documentation should point out.

neemiasbj commented 2 years ago

Same here!