i made a demo bot (Free version) on Api.ai and integrated it with facebook but the problem is that it doesnt't respond to anyone else except me?
Maybe it is because of the fact that i created the facebook page from my account and generated page access token...
But How can i make my bot to communicate with other users too??
The bot on facebook will only respond to people you specifically add as admins or testers of your bot on developers.facebook.com.
If you want to make it available to anyone, you need to request facebook's approval for pages_messaging on developers.facebook.com and it will take a couple of days.
Related
I submitted my bot for review today.
Unfortunately, Facebook doesn't seem to be able to access the bot as it doesn't reply to the test messages.
However, when I promote a friend to "Tester" in the Developers app, the bot works just fine.
Do you guys have any idea on why the bot doesn't answer to facebook tests ?
Thanks
One thing that you should make sure before posting your Messenger Bot for review, is if your page, the bot is connected with, is published.
If the Facebook Page isn't published then Facebook's reviewers can't access your bot.
As Christos Panagiotakopoulos mentioned, Facebook requires that the page associated with the bot is published.
https://developers.facebook.com/docs/messenger-platform/app-review
I've experienced this as well. Unfortunately the instructions were not listed when making the review request, which can be confusing for new users.
How can I allow people to test my faceBot (facebook messenger bot)
Until there .. I should in every time adding tester and/or developer to test my chatBot
and I should say it doesn't make sense.
When you're ready to make your bot live to the public, you need to submit it for approval by adding the messenger platform and submitting all the required items for approval to go public.
All the information you need on that can be found here Messenger Bot Review
Has anybody yet a way to interact with an FB messenger bot without using real FB accounts? I want to do automated testing and obviously not use real accounts for that.
I was not able to figure out how to allow access to a page to 'test users' or create a test page and subscribe the test app to it.
Any ideas on how to do this?
I use a wee web app I made to act as a local version of the facebook messenger api server and run user actions.
https://github.com/Fraser-Greenlee/bot_tester
On it you can write a script to define new users and their actions.
From the Facebook developers dashboard, select your app and then Roles. From Roles you can add other Facebook users as test users. It was easiest for me to use the users facebook id. Adding by email did not always work for me.
I am not aware of how to access a Facebook bot without a Facebook account. I created several fake accounts and had my friends test the bot. After testing, I deleted the fake accounts.
For more information on setting up a bot see my article Facebook Bots for Fun and Profit
The example bot is DMS Software Bot
The source code is Github fb-robot
Testing fb bot with non-fb user is currently not supported. Following are the reasons:
fb messenger requires the user to be logged
fb creates page scope ids (PSID) for each user who is interacting with the bot and hence login on fb is required
Coming to your question on testing:
you can add fb users as tester to your page and your app. Explained here. For your app https://developers.facebook.com/apps/[app-id]/roles/
Once added they will be able to send message to your bot (page) from messenger
On another note, if you are using 3rd party apps to build your bot (eg: api.ai, wit.ai) they already have emulators within the app which makes testing easier.
One easy way to achieve automated testing for messenger bots atleast is to try to mimic a request coming from FB. You can just log the request you are getting to your bot to find the signature of the request that FB sends. Then you can just pretend to be FB by sending http requests with the same signature. You will also have to add in code to respond to these http requests with your reply instead of just sending the message to FB's send API.
So in node it would be something like
sendMessage(<your reply>);
res.send(<your reply>);
Now you have an automated way of sending and receiving messages which you can use for automated testing.
However I think the bigger challenge is coming up with enough test cases. You need to use a combination of clustering over available data and classification to generate new cases.
I have been working on a tool to make this easy. So if you are interested you can sign up for early access. http://ozz.ai
I have a bot that was developed using the Microsoft Bot Framework and it has a Facebook channel. If I chat to it using the Facebook profile of the user who created it (the Facebook app that is linked to the bot), it responds. But if I try another user, it does nothing.
What could be causing this?
Facebook Bots have to be reviewed by Facebook before they are available to anyone other than page admins and the app developers. You can find more details on their development pages
https://developers.facebook.com/docs/messenger-platform/app-review
You have to set your Facebook app as Public, by default your Facebook app is in development and it is not available to the public.
Please could you help. I have created a website that allows people to upload listings of items they are selling. I want to know how to add the feature where when someone creates a listing, it automatically posts on the user's FB page, with a link to the listing on our website. Is this possible? Would the user have to log into our website using their FB account for this to happen? Thanks everyone for your help.
Martin
You need to create a Facebook App and use Facebook Graph API with publish_actions permissions to do that. Note that the facebook rules prohibit sending fully automated messages that the user has no control, your user must have the ability to edit the message before sending