![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@cs-chatbots/wingbot-facebook
Advanced tools
Connector plugin for wingbot chatbot framework
You can include a full JSON Action string to run a certain interaction in your bot using metadata in a handover event.
{
"sender":{
"id":"<PSID>"
},
"recipient":{
"id":"<PAGE_ID>"
},
"timestamp":1458692752478,
"pass_thread_control":{
"new_owner_app_id":"123456789",
"metadata":"{\"action\":\"your-action\",\"data\":{}}"
}
}
User loader middleware
object
Kind: global class
string
Promise
Promise.<{status:number}>
Promise.<Array.<{message:object, pageId:string}>>
Param | Type | Description |
---|---|---|
processor | Processor | |
options | object | |
options.pageToken | string | facebook page token |
options.appId | string | facebook app id |
[options.botToken] | string | botToken for webhook verification |
[options.appSecret] | string | provide app secret to verify requests |
[options.passThreadAction] | string | trigger this action for pass thread event |
[options.takeThreadAction] | string | trigger this action for take thread event |
[options.requestThreadAction] | string | trigger this action when thread request |
[options.allowEventKeys] | Array.<string> | list of keys, allowed to process |
[options.throwsExceptions] | boolean | allows processEvents method to thow exception |
[options.apiUrl] | string | override Facebook API url |
[options.attachmentStorage] | AttachmentCache | cache for reusing attachments |
[options.requestLib] | function | request library replacement |
[senderLogger] | console | optional console like chat logger |
Kind: instance property of Facebook
Properties
Name | Type | Description |
---|---|---|
Default | Array.<string> | keys allowed to process |
string
Verifies Bots webhook against Facebook
Kind: instance method of Facebook
Throws:
Error
when the request is invalidParam | Type |
---|---|
queryString | object |
Promise
Verify Facebook webhook event
Kind: instance method of Facebook
Throws:
Error
when x-hub-signature does not match body signatureParam | Type |
---|---|
body | Buffer | string |
headers | object |
Promise.<{status:number}>
Kind: instance method of Facebook
Param | Type | Description |
---|---|---|
message | object | wingbot chat event |
senderId | string | chat event sender identifier |
pageId | string | channel/page identifier |
data | object | contextual data (will be available in res.data) |
[data.appId] | string | possibility to override appId |
Promise.<Array.<{message:object, pageId:string}>>
Process Facebook request
Kind: instance method of Facebook
Returns: Promise.<Array.<{message:object, pageId:string}>>
- - unprocessed events
Param | Type | Description |
---|---|---|
body | object | event body |
[data] | object | event context data |
Kind: global class
Promise
Promise
Promise
Promise
MenuComposer
Utility, which helps us to set up chatbot behavior
Promise
Sets or clears bot's greeting
Kind: instance method of Settings
Param | Type | Default | Description |
---|---|---|---|
[text] | string | false | leave empty to clear |
Promise
Sets up the Get Started Button
Kind: instance method of Settings
Param | Type | Default | Description |
---|---|---|---|
[payload] | string | object | false | leave blank to remove button, or provide the action |
Example
const settings = new Settings(config.facebook.pageToken);
settings.getStartedButton('/start'); // just an action
Promise
Useful for using facebook extension in webviews
Kind: instance method of Settings
Param | Type |
---|---|
domains | string | Array.<string> |
Promise
Drops the menu
Kind: instance method of Settings
MenuComposer
Sets up the persistent menu
Kind: instance method of Settings
Param | Type | Default |
---|---|---|
[locale] | string | "default" |
[inputDisabled] | boolean | false |
Example
const { Settings } = require('wingbot');
const settings = new Settings('page-token-string');
settings
.menu('fr_FR')
.addNested('Nested Menu')
.addUrl('Aller à google', 'https://google.com')
.done()
.addPostBack('Faire quelque chose', '/the/action')
.menu() // the default menu
.addNested('Nested Menu')
.addUrl('Go to google', 'https://google.com')
.done()
.addPostBack('Do something', '/the/action')
.done();
Kind: static class of Settings
Creates an instance of Settings.
Param | Type | Description |
---|---|---|
token | string | |
[log] | Object | |
[req] | function | request library for resting purposes |
Kind: global class
Param | Type | Default |
---|---|---|
onDone | function | |
[isTopLevel] | boolean | true |
this
Add postback to menu
Kind: instance method of MenuComposer
Param | Type |
---|---|
title | string |
action | string |
[data] | object |
this
Add webview to menu
Kind: instance method of MenuComposer
Param | Type | Default |
---|---|---|
title | string | |
url | string | |
[hasExtension] | boolean | false |
[webviewHeight] | string | null |
MenuComposer
Add Nested menu component
Kind: instance method of MenuComposer
Param | Type |
---|---|
title | string |
this
| Promise
Finish the menu
Last call of "done" returns a promise
Kind: instance method of MenuComposer
MenuComposer
Finish the menu for the locale and starts a new menu
Kind: instance method of MenuComposer
Param | Type | Default |
---|---|---|
[locale] | string | "default" |
[inputDisabled] | boolean | false |
User loader middleware
Kind: global function
Param | Type |
---|---|
pageToken | string |
[logger] | console |
Example
const { userLoader } = require('wingbot-facebook');
bot.use(userLoader('<page token here>'));
bot.use((req, res) => {
const {
firstName,
lastName,
profilePic,
locale,
gender
} = req.state.user;
res.text(`Hello ${firstName}!`);
});
object
Kind: global typedef
Properties
Name | Type |
---|---|
findAttachmentByUrl | function |
saveAttachmentId | function |
FAQs
Facebook Messenger plugin for wingbot
We found that @cs-chatbots/wingbot-facebook demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.