Sending Invitations to Participate in Facebook Messenger Bot - facebook

I am very new to Messenger platform and I'm trying to wrap my head around the types of things that are possible. In particular, I'm interested in using a bot as a "mediator" of communication among friends. For example, one could build build a bot to help make a group decision, like where four or five people will have lunch. Each person interacts only with the bot, the bot gathers lunch preferences, and communicates some type of optimal choice to all participants. This could require a back-and-forth discussion of preferences with each participant. Is that clear?
At this point, I'm wondering two things:
How would a user initially invite another user into the conversation? Suppose user A starts talking to the bot and the bot tells user A, "Invite some friends to join us in this conversation". Can the bot actually send these invitations on behalf of user A? Or does invitation have to take place via some other out-of-band mechanism?
Is messenger platform the most appropriate FB platform technology for creating this sort of interactive mediation app?
Thanks in advance, InterWebs...

If I'm understanding your idea correctly, it would be very difficult to build a bot that could chat with each person separately but offer a shared experience. When a user shares the bot with another user and the new user starts a chat, the bot has no way of knowing where the referral comes from, so there's really no way to know that the two users are linked.
What you could do is build a chat extension, which basically makes functionality from your bot available in a group chat:
https://developers.facebook.com/docs/messenger-platform/guides/chat-extensions

Related

Send private message to 1 or more friends using FB API

I'm building a web application that performs an analysis based on the inputs a user enters. I want to allow the user to send this analysis, which will be 2-3 sentences max, to one or more of their Facebook friends through the messenger platform.
At first I thought the Send Dialog was the way to go, but it appears I can't pre-populate the message field at all (source).
Next I tried integrating the Messenger Platform but this appears to target businesses that want to connect their site to a Facebook Page and setup a chat bot, which seems far too complex for my use case.
Is there anyway I can allow the user to send a private message to one or more of their Facebook friends or is this not possible for a specific reason (e.g. prevent spam, security concerns)?
This SO question here appears similar to my question.
There's no way to do this unfortunately. Makes sense, however, as apps could spam people's imessenger if it was possible.
The best alternative is to use the Send Dialog component.

Messenger Bot approval

I refer to a messenger bot (ChatPay) that we created and were seeking approval for. We noticed that the facebook team could not have a full experience on how the bot works as it is useful for registered users (as per the screen shot). The bot works with an application (ChatPay) from where registration is invoked and bank transaction interfaces are displayed from (for security purposes).
How do I go about getting the bot approved? We could provide test credentials to the facebook team. The app is at https://play.google.com/store/apps/details?id=com.craft.chatpayenter image description here
Follow the regular review process, the Facebook users will test the bot and ask questions if need be. They tested my bot and asked a few questions.
I have the Pages application on my phone so I saw all the interaction with the bot immediately. You can type a personal message with Pages as well as have the bot respond. I spoke with the Facebook test team this way.
Another idea is to put some boilerplate text on the bot that tells the testers the requirements. You can make updates to the bot after the approval process to remove the instructions. Until approval the general public cannot access the bot so your clients will not see the instructions.
Here is my bot if you would like to play around. I'd be happy to help with your testing.

Messenger Bot Features

I want to develop an app where the customer could log in, pay, and receive some videos & pdfs.
I guess I have three options:
1) Make my own web app
2) Make a Facebook app (account creation will be with facebook)
3) Make a Messenger bot. A person would ask the bot what they want, the bot would send them payment link, they would pay and the bot would send them the download link for the content.
The reason I am thinking of this is that every customer will have to initiate conversation with my bot, so the bot will be able to e.g. send them messages afterwards (remarketing).
So I guess my question is: would this work from a technical point? And is there any other notes or recommendations somebody can give me? Just want to see what the internet thinks about this idea. Cheers!
Dominik,
Your general idea will work with a FB bot. FB has some restrictions however:
"The Send/Receive API must not be used to send marketing or promotional messages, such as sale or product announcements, brand advertising, branded content, newsletters or the up-selling or cross-selling of products or service."
https://developers.facebook.com/products/messenger/
I'm not quite sure where the line is for users that reach out to your Bot in terms of up-selling.
If you haven't started yet. See my article on getting your Facebook Bot up and running:
Facebook Bots for fun and profit
--Matt
As an update for anyone else reading this, Facebook have revised the clause on sending promotional / marketing messages, effectively allowing it, IIRC.
The restriction on promotional content has been removed for standard messaging.
https://developers.facebook.com/docs/messenger-platform/policy-overview

Use Facebook Events As CMS

I want to build a mobile application that allows end users to sign up and participate in events (like parties, seminars, conferences etc..). Instead of building a CMS from scratch for an administrator to manage events, is it possible to use Facebook Events as the CMS? Then my mobile application will pull information about these events via the Facebook API.
Any one know if it's better for me to build the CMS from scratch or to use FB events? And what are things I have to consider in making this decision?
Let's say events are authored by users of the system, and if we go the FB CMS method, then users MUST have a Facebook account.
This is certainly possible with the events Facebook api. If you wanted all the events associated with an account you own, you could embed an access token into your application. If you want people to accept your event or host the event under their own account you would need to prompt users for permissions to manage events on their behalf.
It's pretty subjective question whether this is a good idea and it depends on what you are trying to achieve. The biggest upside is that its already built for you and designed to scale and wouldn't require servers, etc. The biggest downside I see is that Facebook changes their API and its not always the most reliable (see the always growing bug list they keep). Also, users may need an account depending on how you decide to implement the functionality.

Making a chat room with Facebook authentication

I'm having a hard time figuring out how to create an embeddable online chat room that requires a Facebook authentication. I want the chat room to be public, allow users to log in with their Facebook accounts, and chat with each other using their Facebook identity(name). I know how to authenticate users into a website using FBML and FQL, but I don't know how to incorporate that concept in creating a chat room. Facebook Chat uses XMPP, so I looked up XMPP multi chat documentation, but I can't understand really well. I can do PHP and JavaScript(jQuery/JSON/etc). Can someone help me how to go about making such a chat room?
Building such a thing will not be possible until unless you hack your way around this. Not possible mainly because facebook still lacks federation i.e. as soon as fb chat servers sees -123456#chat.facebook.com trying to send a message of type "groupchat" to a MUC room jdev#conference.jabber.org, it will block this message stanza and not pass it on to the MUC room.
Hacking such a thing will involve writing your custom Jabber/XMPP components running at your own chat servers, which will then take care of outgoing messages of type "groupchat" from your system and re-route them appropriately to the MUC rooms. Jaxl IM is a project which does exactly the same thing and it uses Jaxl (Jabber XMPP Library in PHP) library for all such purposes.