facebook-messenjs
Advanced tools
Comparing version 0.0.13 to 0.1.0
{ | ||
"name": "facebook-messenjs", | ||
"version": "0.0.13", | ||
"version": "0.1.0", | ||
"description": "API wrapper for Facebook Messenger inspired by discord.js", | ||
"main": "src/index.js", | ||
"types": "typings/index.d.ts", | ||
"scripts": { | ||
@@ -7,0 +8,0 @@ "doc": "jsdoc -c jsdoc.json" |
@@ -38,2 +38,27 @@ # Facebook MessenJS | ||
}); | ||
``` | ||
Use quick replies: | ||
``` js | ||
bot.on('messages', message => { | ||
if (!message.payload) { // Checks if the message has a payload | ||
message.sender.send("Hi! What is your favorite color?", [ | ||
new QuickReplies.Text("Red", "RESPONSE_RED"), | ||
new QuickReplies.Text("Yellow", "RESPONSE_YELLOW"), | ||
new QuickReplies.Text("Others", "RESPONSE_OTHERS") | ||
]); | ||
} else { | ||
// Responds appropriately to payloads | ||
switch (message.payload) { | ||
case "RESPONSE_RED": | ||
message.sender.send("Red? Me too!"); | ||
break; | ||
case "RESPONSE_OTHERS": | ||
message.sender.send("Yellow? That's a nice color!"); | ||
break; | ||
default: | ||
message.sender.send("I like that color too."); | ||
} | ||
} | ||
}); | ||
``` |
module.exports = { | ||
Buttons: require('./structures/buttons/Buttons'), | ||
Client: require('./structures/client/Client'), | ||
Client: require('./client/Client'), | ||
Collection: require('./structures/Collection'), | ||
Events: require('./structures/events/Events'), | ||
Events: require('./util/Events'), | ||
Message: require('./structures/message/Message'), | ||
MessageManager: require('./structures/client/MessageManager'), | ||
MessageManager: require('./client/MessageManager'), | ||
Profile: require('./structures/Profile'), | ||
ProfileManager: require('./structures/client/ProfileManager'), | ||
ProfileManager: require('./client/ProfileManager'), | ||
QuickReplies: require('./structures/message/quickReplies/QuickReplies'), | ||
Templates: require('./structures/message/template/Templates') | ||
} |
const crypto = require('crypto'); | ||
const Message = require('../message/Message'); | ||
const Client = require('../client/Client'); | ||
const events = require('../events/Events'); | ||
const Client = require('../../client/Client'); | ||
const express = require('express'); | ||
const bodyParser = require('body-parser'); | ||
const verify = require('./requests/verify'); | ||
const Verify = require('../actions/Verify'); | ||
const MessageDelivery = require('../actions/MessageDelivery'); | ||
const Postback = require('../actions/Postback'); | ||
const Reaction = require('../actions/Reaction'); | ||
const ReadEvent = require('../actions/ReadEvent'); | ||
const sendUnauthorized = require('../utils/sendUnauthorized'); | ||
const Events = require('../../util/Events'); | ||
const sendUnauthorized = require('../miscellaneous/sendUnauthorized'); | ||
class BaseAPI { | ||
@@ -30,5 +35,21 @@ /** | ||
this.app.get(route, (req, res) => { | ||
let success = false; | ||
if (("hub.challenge" in req.query) && ("hub.verify_token" in req.query)) { | ||
verify(this.client, req, res); | ||
success = req.query["hub.verify_token"] === client.verifyToken; | ||
if (success) { | ||
res.send(req.query["hub.challenge"]); | ||
} else { | ||
sendUnauthorized(res); | ||
} | ||
} else { | ||
sendUnauthorized(res); | ||
} | ||
/** | ||
* Receive message event | ||
* @event Client#webhookVerify | ||
* @type {Verify} | ||
*/ | ||
client.emit(Events.WebhookVerify, new Verify(client, success)); | ||
}); | ||
@@ -104,3 +125,3 @@ | ||
} else if ("delivery" in payload) { | ||
let deliveryEvent = new events.DeliveryEvent(this.client, payload); | ||
let messageDelivery = new MessageDelivery(this.client, payload); | ||
@@ -112,5 +133,5 @@ /** | ||
*/ | ||
this.client.emit("messageDelivery", deliveryEvent); | ||
this.client.emit("messageDelivery", messageDelivery); | ||
} else if ("postback" in payload) { | ||
let postbackEvent = new events.PostbackEvent(this.client, payload); | ||
let postback = new Postback(this.client, payload); | ||
@@ -122,3 +143,3 @@ /** | ||
*/ | ||
this.client.emit("messagingPostback", postbackEvent); | ||
this.client.emit("messagingPostback", postback); | ||
} else if ("referral" in payload) { | ||
@@ -137,3 +158,3 @@ let referralData = JSON.parse(JSON.stringify(payload.referral)); | ||
} else if ("reaction" in payload) { | ||
let reactionEvent = new events.ReactionEvent(this.client, payload); | ||
let reaction = new Reaction(this.client, payload); | ||
@@ -144,5 +165,5 @@ /** | ||
*/ | ||
this.client.emit("messageReaction", reactionEvent); | ||
this.client.emit("messageReaction", reaction); | ||
} else if ("read" in payload) { | ||
let readEvent = new events.ReadEvent(this.client, payload.read[0]); | ||
let readEvent = new ReadEvent(this.client, payload.read[0]); | ||
@@ -149,0 +170,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
const Client = require('../client/Client'); | ||
const Client = require('../../client/Client'); | ||
@@ -6,5 +6,5 @@ class Message { | ||
* @param {Client} client Facebook Messenger chatbot client | ||
* @param {Object} [payload] JSON object with data of message | ||
* @param {Object} [raw] JSON object with data of message | ||
* @property {Client} client Facebook Messenger chatbot client | ||
* @property {Object} payload JSON object with data of message | ||
* @property {Object} raw JSON object with data of message | ||
* @property {Profile} sender Sender of message | ||
@@ -16,2 +16,3 @@ * @property {Profile} recipient Recipient of message | ||
* @property {Array} quickReplies Quick replies of message | ||
* @property {Object} [payload] Payload of message (if any) | ||
*/ | ||
@@ -18,0 +19,0 @@ constructor(client, raw = { |
const fetch = require('make-fetch-happen'); | ||
const Client = require('./client/Client'); | ||
const Client = require('../client/Client'); | ||
const BaseQuickReply = require('./message/quickReplies/BaseQuickReply'); | ||
const Buttons = require('./buttons/Buttons'); | ||
const BaseTemplate = require('./message/template/BaseTemplate'); | ||
const Message = require('./message/Message'); | ||
@@ -115,3 +116,3 @@ class Profile { | ||
* @param {Array.<BaseQuickReply>} quickReplies | ||
* @returns {Promise} | ||
* @returns {Promise<Message>} | ||
*/ | ||
@@ -118,0 +119,0 @@ send(options, quickReplies = []) { |
1282
63
53284
33