Add recipients caching
This commit is contained in:
@@ -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}"`
|
||||
|
||||
Reference in New Issue
Block a user