messaging-api-messenger
Advanced tools
Changelog
0.6.5 / 2017-12-20
sendVideoNote
:client.sendVideoNote(CHAT_ID, 'https://example.com/video_note.mp4', {
duration: 40,
disable_notification: true,
});
Changelog
0.6.4 / 2017-12-14
logCustomEvent
for consistency:appId -> app_id
pageId -> page_id
userId -> page_scoped_user_id
client.logCustomEvents({
app_id: APP_ID,
page_id: PAGE_ID,
page_scoped_user_id: USER_ID,
events: [
{
_eventName: 'fb_mobile_purchase',
_valueToSum: 55.22,
_fb_currency: 'USD',
},
],
});
Original keys (appId
, pageId
, userId
) will be removed when v0.7
or v0.8
release.
Messenger
to MessengerBatch
:const { MessengerBatch } = require('messaging-api-messenger');
client.sendBatch([
MessengerBatch.createText(USER_ID, '1'),
MessengerBatch.createText(USER_ID, '2'),
MessengerBatch.createText(USER_ID, '3'),
MessengerBatch.createText(USER_ID, '4'),
MessengerBatch.createText(USER_ID, '5'),
]);
Original APIs on Messenger
will be changed when v0.7
release.
createSubscription
method:client.createSubscription({
app_id: APP_ID,
callback_url: 'https://mycallback.com',
fields: ['messages', 'messaging_postbacks', 'messaging_referrals'],
verify_token: VERIFY_TOKEN,
});
Given a user ID for an app, retrieve the IDs for other apps owned by the same business.
client
.getIdsForApps({
user_id: USER_ID,
app_secret: APP_SECRET,
})
.then((result) => {
console.log(result);
});
Given a user ID for a Page (associated with a bot), retrieve the IDs for other Pages owned by the same business.
client
.getIdsForPages({
user_id: USER_ID,
app_secret: APP_SECRET,
})
.then((result) => {
console.log(result);
});
Changelog
0.6.3 / 2017-12-12
setGetStarted
Changelog
0.6.0 / 2017-12-07
client.getHTTPClient()
use client.axios
instead #236is_reusable
to false when upload attachment #221getGetStartedButton -> getGetStarted
setGetStartedButton -> setGetStarted
deleteGetStartedButton -> deleteGetStarted
getGreetingText -> getGreeting
setGreetingText -> setGreeting
deleteGreetingText -> deleteGreeting
getDomainWhitelist -> getWhitelistedDomains
setDomainWhitelist -> setWhitelistedDomains
deleteDomainWhitelist -> deleteWhitelistedDomains
getChatExtensionHomeURL -> getHomeURL
setChatExtensionHomeURL -> setHomeURL
deleteChatExtensionHomeURL -> deleteHomeURL
answerInlineQuery
:client.answerInlineQuery(
'INLINE_QUERY_ID',
[
{
type: 'photo',
id: 'UNIQUE_ID',
photo_file_id: 'FILE_ID',
title: 'PHOTO_TITLE',
},
{
type: 'audio',
id: 'UNIQUE_ID',
audio_file_id: 'FILE_ID',
caption: 'AUDIO_TITLE',
},
],
{
cache_time: 1000,
}
);
Changelog
0.5.16 / 2017-12-05
[new] Add client.accessToken
getter
[new] Support pass message object to postMessage
:
client.postMessage('C8763', { text: 'Hello!' });
client.postMessage('C8763', { attachments: [someAttachments] });
client.postMessage('C8763', { text: 'Hello!' }, { as_user: true });
Changelog
0.5.14 / 2017-11-29
[new] Support call api methods with custom access_token
(Experimental)
[fix] Fixed uploadAttachment
with buffer data using a filename
option pass in:
client.uploadAttachment('image', buffer, { filename: 'image.jpg' });
Changelog
0.5.12 / 2017-11-23
options.quick_replies
to send message with quick replies: #216client.sendText(USER_ID, 'Pick a color:', {
quick_replies: [
{
content_type: 'text',
title: 'Red',
payload: 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED',
},
],
});
For example:
client.uploadImage(buffer);
client.uploadImage(fs.creatReadStream('xxx.jpg'));
Changelog
0.5.11 / 2017-11-22
getPageInfo
to get page name and page id using Graph API. For example:client.getPageInfo().then((page) => {
console.log(page);
// {
// name: 'Bot Demo',
// id: '1895382890692546',
// }
});