UNPKG

vinsbot

Version:

facebook chatbot

107 lines (98 loc) 3 kB
var request = require('request'), config = require('./config/config'); class Bot { constructor (page_token){ this.page_token = page_token } // get user profile getUserProfile(userId) { var url = config.get_profile(userId, this.page_token); return new Promise((resolve, reject) => { request(url, function (error, response, body) { resolve(JSON.parse(body)) }); }) } // Sends response messages via the Send API sendMessage (sender_psid, response) { // Construct the message body let request_body = { recipient: { id: sender_psid }, message: response } // Send the HTTP request to the Messenger Platform request({ uri: config.uri, qs: { access_token: this.page_token }, method: "POST", json: request_body }, (err, res, body) => { if (!err) { console.log('message sent!') } else { console.error("Unable to send message:" + err); } }); } // Calls the Facebook graph api to change various bot settings addMenu(menu){ // Start the request request({ url: config.add_menu(this.page_token), method: 'POST', headers: {'Content-Type': 'application/json'}, form: menu }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } else { // TODO: Handle errors console.log("cant add menu."); console.log(body); } }); } // get started facebookWelcome(form){ request({ url: config.welcome(this.page_token), method: 'POST', headers: {'Content-Type': 'application/json'}, form: form }, function (error, response, body) { if (!error && response.statusCode == 200) { // Print out the response body console.log(body); } else { // TODO: Handle errors console.log("failed."); } }); } deleteMenu(form){ var self = this; request({ url: config.del_menu(this.page_token), method: 'DELETE', headers: {'Content-Type': 'application/json'}, form: form }, function (error, response, body) { if (!error && response.statusCode == 200) { // Print out the response body console.log(body); } else { // TODO: Handle errors console.log("cant delete menu."); console.log(body) } }); } } module.exports = Bot