Cách xây dựng một con Bot tự động chat trên Facebook Messenger


Quảng Cáo
Đặt Banner Quảng cáo, Textlink, Guest Post
Liên Hệ Ngay: 1900636343

Mới đây Facebook đã mở gốc rễ Messenger Platform để kích hoạt Bot giao tiếp với đông người dùng kênh qua phần mềm Facebook Apps và Facebook Pages.

Trong san sẻ dưới đây Suamaytinhtphcm.net sẽ điều khiển bạn cách thiết kế một con Bot tự động hóa hóa chat trên Facebook Messenger.

Dưới đây là các quy trình để làm ra một bot chat trên Facebook Messenger.

1. Thiết lập

Messenger bot sử dụng web server để xử lý những tin nhắn mà nó cảm biến được hoặc tìm ra các tin nhắn để gửi.

1.1. Xây dựng server

1. Tải và lắp đặt Heroku Toolbet khi tiếp đây để bắt đầu bật nguồn bật nguồn, dừng và theo dõi các chủ đề.

Nếu chưa sinh ra tài khoản riêng tnhh tư nhân, anh chị em cũng cũng rất cũng có thể rất cũng có thể đăng nhập không thanh toán giao dịch tại https://www.heroku.com.

2. Truy cập https://nodejs.org để lắp đặt Node tạo môi trường xung quanh server.

Sau đó thi hành mở Terminal hoặc Command Line Prompt để chắc chắn bạn đã lắp đặt bạn dạng npm mới ra bằng phương pháp lắp đặt nmp một lần nữa:

sudo npm install npm –g

3. Tạo một thư mục mới và tạo project Node mới. Nhấn Enter để đánh được giá độ quý hiếm mặc định:

npm init

4. Cài đặt thêm gói dv Node Dependencies. Express dành riêng cho server y/c còn điều khiển việc gửi tin nhắn và body-parser là để xử lý tin nhắn:

npm install express request body-parser –save

5. Tạo file index.js trong thư mục và sao chép các đoạn mã dưới đây vào để xác nhận bot:

var express = require('express')  var bodyParser = require('body-parser')  var request = require('request')  var app = express()    app.set('port', (process.env.PORT || 5000))    // Process application/x-www-form-urlencoded  app.use(bodyParser.urlencoded({extended: false}))    // Process application/json  app.use(bodyParser.json())    // Index route  app.get('/', function (req, res) {      res.send('Hello world, I am a chat bot')  })    // for Facebook verification  app.get('/webhook/', function (req, res) {      if (req.query['hub.verify_token'] === 'my_voice_is_my_mật khẩu đăng nhập_verify_me') {          res.send(req.query['hub.challenge'])      }      res.send('Error, wrong token')  })    // Spin up the server  app.listen(app.get('port'), function() {      console.log('running on port', app.get('port'))  })

6. Tạo một file và khắc tên file là Procfile, và tiếp theo đó sao chép dòng mã dưới đây vào để Heroku cũng rất cũng có thể rất cũng có thể biết được phải chạy file nào:
web: node index.js

Xác nhận toàn diện và tổng thể mã với Git và tiếp theo đó tạo một mã Heroku mới và “đẩy” các mã lên cloud:

web: node index.js

7. Xác nhận toàn diện và tổng thể mã với Git và tiếp theo đó tạo một mã Heroku mới và “đẩy” các mã lên cloud:

git init  git add .  git commit --message 'hello world'  heroku create  git push heroku master

1.2. Thiết lập phần mềm Facebook App

1. Truy cập https://developers.facebook.com/apps/ để làm ra hoặc hệ số kỹ thuật Facebook App hoặc Page.

hệ số kỹ thuật Facebook App hoặc Page

2. Trên phần mềm, chuyển sang thẻ Messenger và tiếp theo đó click chọn Setup Webhook. Tại đây nhập mã URL của server Heroku và mã giải trình.

nhập mã URL của server Heroku và mã giải trình

3. Nhận Page Access Token và thu nhậnmã này.

Page Access Token

4. Quay chu chỉnh lại Terminal và nhập câu lệnh dưới đây để kích hoạt Facebook app gửi tin nhắn. Lưu ý, sử dụng mã giải trình mà bạn đã sử dụng trước đó.

  1. curl -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token="

1.3. Thiết lập Bot

1. Thêm vào điểm cuối API để index.js thi hành thiết thực qui trình xử lý tin nhắn. Lưu ý, kể cả toàn diện và tổng thể cả mã giải trình bạn nhận trước đó:

app.post('/webhook/', function (req, res) {      messaging_events = req.body.entry[0].messaging      for (i = 0; i < messaging_events.length; i++) {          event = req.body.entry[0].messaging[i]          sender = event.sender.id          if (event.message && event.message.text) {              text = event.message.text              sendTextMessage(sender, "Text received, echo: " + text.substring(0, 200))          }      }      res.sendStatus(200)  })    var token = ""

2. Thêm một các chức năng để phản hồi lại tin nhắn:

function sendTextMessage(sender, text) {      messageData = {          text:text      }      request({          url: 'https://graph.facebook.com/v2.6/me/messages',          qs: {access_token:token},          method: 'POST',          json: {              recipient: {id:sender},              message: messageData,          }      }, function(error, response, body) {          if (error) {              console.log('Error sending messages: ', error)          } else if (response.body.error) {              console.log('Error: ', response.body.error)          }      })  }

3. Xác nhận đoạn mã một lần nữa và dàn ra Heroku:

git add .  git commit -m 'updated the bot to speak'  git push heroku master

4. Truy cập Facebook và click Message để bắt đầu bật nguồn bật nguồn chat.

truy nhập Facebook và click Message để bắt đầu bật nguồn bật nguồn chat

2. Tùy chỉnh thông điệp bot “nói”

2.1. Gửi một cấu trúc thông điệp của Message

Facebook Messenger cũng rất cũng có thể rất cũng có thể gửi một cấu trúc thông điệp Message dưới dạng card hoặc nút.

cấu trúc thông điệp Message

1. Sao chép đoạn mã dưới đây vài index.js để gửi một tin nhắn xử lý lại dưới dạng 2 card:

function sendGenericMessage(sender) {      messageData = {          "attachment": {              "type": "template",              "payload": {                  "template_type": "generic",                  "elements": [{                      "title": "First card",                      "subtitle": "Element #1 of an hscroll",                      "image_url": "http://messengerdemo.parseapp.com/img/rift.png",                      "buttons": [{                          "type": "web_url",                          "url": "https://www.messenger.com",                          "title": "web url"                      }, {                          "type": "postback",                          "title": "Postback",                          "payload": "Payload for first element in a generic bubble",                      }],                  }, {                      "title": "Second card",                      "subtitle": "Element #2 of an hscroll",                      "image_url": "http://messengerdemo.parseapp.com/img/gearvr.png",                      "buttons": [{                          "type": "postback",                          "title": "Postback",                          "payload": "Payload for second element in a generic bubble",                      }],                  }]              }          }      }      request({          url: 'https://graph.facebook.com/v2.6/me/messages',          qs: {access_token:token},          method: 'POST',          json: {              recipient: {id:sender},              message: messageData,          }      }, function(error, response, body) {          if (error) {              console.log('Error sending messages: ', error)          } else if (response.body.error) {              console.log('Error: ', response.body.error)          }      })  }

2. Cập nhật Webhook API để kiếm tìm các tin nhắn khá đặc biệt để kích hoạt trên card:

app.post('/webhook/', function (req, res) { messaging_events = req.body.entry[0].messaging for (i = 0; i < messaging_events.length; i++) { event = req.body.entry[0].messaging[i] sender = event.sender.id if (event.message && event.message.text) { text = event.message.text if (text === 'Generic') { sendGenericMessage(sender) continue } sendTextMessage(sender, "Text received, echo: " + text.substring(0, 200)) } } res.sendStatus(200) })

2.2. Hồi đáp lại tin nhắn của những người dân dùng

Chuyện gì sẽ xảy ra khi người dùng click vào nút hoặc card trên Message? Trong tình huống này update Webhook API một lần nữa để gửi các chức năng postback:

    ```  app.post('/webhook/', function (req, res) {      messaging_events = req.body.entry[0].messaging      for (i = 0; i < messaging_events.length; i++) {          event = req.body.entry[0].messaging[i]          sender = event.sender.id          if (event.message && event.message.text) {              text = event.message.text              if (text === 'Generic') {                  sendGenericMessage(sender)                  continue              }              sendTextMessage(sender, "Text received, echo: " + text.substring(0, 200))          }          if (event.postback) {              text = JSON.stringify(event.postback)              sendTextMessage(sender, "Postback received: "+text.substring(0, 200), token)              continue          }      }      res.sendStatus(200)  })  ```

Thêm Git, xác nhận và dàn ra Heroku một lần nữa.

Bây giờ anh chị em cũng cũng rất cũng có thể rất cũng có thể chat với bot và nhập “Generic” để nhận thấy bot.

Tham khảo thêm 1 vài san sẻ dưới đây:

  • Làm sao để hiểu được ai đã đọc tin nhắn của chú ấyng ta trên Facebook Message hay chưa?
  • Các bước vọng tạo đăng bài Facebook
  • Tắt Facebook, dành giai đoạn truy ctràn vào 37 trang Web này để bổ sung những kiến thức mới mỗi ngày
  • Thủ thuật tắt báo cáo lui Facebook trên trình duyệt web Chrome

Chúc anh chị em thành đạt!

Sưu Tầm: Internet

Bài Viết Liên Quan


Bài Viết Khác


Quảng Cáo
Đặt Banner Quảng cáo, Textlink, Guest Post
Liên Hệ Ngay: 1900636343