1
0

Add recipients caching

This commit is contained in:
2018-04-21 22:33:25 +02:00
parent 3f0bee3dd9
commit 1e95f21151

View File

@@ -9,6 +9,11 @@ const fbReply = require('claudia-bot-builder/lib/facebook/reply')
const fbValidate = require('claudia-bot-builder/lib/facebook/validate-integrity')
const fbTemplate = require('claudia-bot-builder/lib/facebook/format-message')
/**
* In-Memory cache for FB graph results
*/
const recipients = []
const verifyToken = req => {
if (req.query['hub.verify_token'] === process.env.FB_VERIFY_TOKEN) {
return req.query['hub.challenge']
@@ -37,7 +42,11 @@ const fbMessage = async req => {
const respond = async (req, res) => {
const message = await fbMessage(req)
if (message) {
const recipient = await FB.api(message.sender)
const recipient =
recipients[message.sender] || (await FB.api(message.sender))
// Cache recipients
recipients[message.sender] = recipient
const replyMessage = new fbTemplate.Text(
`${recipient.first_name} said: "${message.text}"`