Open onDier opened 7 years ago
I use this method:
Add this to the facebook.js:
const typingBubble = (recipientId, cb) => {
const opts = {
form: {
recipient: {
id: recipientId,
},
sender_action: "typing_on"
},
};
fbReq(opts, (err, resp, data) => {
if (cb) {
cb(err || data.error && data.error.message, data);
}
});
};
And now, you can use it anywhere you want. I use it in index.js, in the app.post('/webhook', (req, res)
before the if(atts)
.
// The main message handler
app.post('/webhook', (req, res) => {
// Parsing the Messenger API response
const messaging = FB.getFirstMessagingEntry(req.body);
if (messaging && messaging.message) {
// Yay! We got a new message!
// We retrieve the Facebook user ID of the sender
const sender = messaging.sender.id;
// We retrieve the user's current session, or create one if it doesn't exist
// This is needed for our bot to figure out the conversation history
const sessionId = findOrCreateSession(sender);
// We retrieve the message content
const msg = messaging.message.text;
const atts = messaging.message.attachments;
// Show the typing indicator until we send the message
FB.typingBubble(sender);
if (atts) {
// We received an attachment
// Let's reply with an automatic message
FB.fbMessage(
sender,
'Sorry I can only process text messages for now.'
);
} else if (msg) {
// We received a text message
// Let's forward the message to the Wit.ai Bot Engine
// This will run all actions until our bot has nothing left to do
wit.runActions(
sessionId, // the user's current session
msg, // the user's message
sessions[sessionId].context, // the user's current session state
(error, context) => {
if (error) {
console.log('Oops! Got an error from Wit:', error);
} else {
// Our bot did everything it has to do.
// Now it's waiting for further messages to proceed.
console.log('Waiting for futher messages.');
// Based on the session state, you might want to reset the session.
// This depends heavily on the business logic of your bot.
// Example:
// if (context['done']) {
// delete sessions[sessionId];
// }
// Updating the user's current session state
sessions[sessionId].context = context;
}
}
);
}
}
res.sendStatus(200);
});
Hi, how can i set the typing animation when i got a msg and turn off before send the wit msg and how can i add Get Start Button?