I have several facebook pages and I would like to run the same bot on each page. I am using the bot framework and everything works perfectly for one page now. How do I associate with multiple pages?
In the simplest terms, a bot is a small application that works inside popular messaging program, in this case Facebook Messenger. Once it is built and installed, the Facebook bot can automatically interact with users, allowing website visitors to access a wide range of services.
When you call the Facebook Send API, you pass a page access token through the access_token
parameter. You can specify which page to direct your message by modifying this access token. To know which page initiated the message, you can access the id
field of the entry of the message post.
app.post('/webhook', (req, res) => {
const data = req.body
// Make sure this is a page subscription
if (data.object === 'page') {
// Iterate over each entry
data.entry.forEach((pageEntry) => {
// get the pageId
const pageId = pageEntry.id
...
You would then need to maintain an object mapping page ids to the access token associated with each page id:
const accessTokens = {
myPageId1: 'myPageAccessToken1',
myPageId2: 'myPageAccessToken2',
}
Then when sending the response, just specify the corresponding page access_token
const callSendAPI = (pageId, messageData) =>
rp({
uri: 'https://graph.facebook.com/v2.8/me/messages',
qs: { access_token: accessTokens[pageId] },
method: 'POST',
body: messageData,
json: true,
})
Sorry if my answer is late
You can very well handle all your page traffic through just one bot backend
Hope this helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With