Hướng Dẫn Viết Chat Bot Cho Facebook – Phần 2: Tạo Fanpage Và ...
Có thể bạn quan tâm
Series gồm 3 phần:
- Giới thiệu một số khái niệm, cơ chế hoạt động của Facebook bot
- Hướng dẫn cách code và test bot Facebook
- Cách deploy bot và nộp cho Facebook xét duyệt
Thấy các bạn test hộ nhiều quá, mình rất cảm động nên đã thêm chức năng “đàm luận nhân sinh” vào bot để các bạn có người chém gió nhe. Các bạn có thể tiếp tục trò chuyện với bot tại m.me/toidicodedao nhé
Ở phần trước, mình đã giới thiệu cơ chế hoạt động của bot Faceobok, cùng với một số khái niệm các bạn cần nắm rõ. Ở bài này, chúng ta sẽ bắt tay vào tạo fanpage và code nhé. Lần này mình hướng dẫn bằng video, các bạn bật phụ đề lên xem nhé.
Bước 1 – Tạo Fanpage, thêm chức năng Messenger
Các bạn làm theo clip dưới để tạo fanpage nhé. Với bạn nào đã có Fanpage thì xem đoạn sau để tích hợp chức năng Messenger vào fanpage.
Tính mình thích ngắn gọn, không muốn lê thê dài dòng nên video cũng rất ngắn gọn, chỉ khoảng 1-2 phút để không lãng phí thời gian của mọi người.
Bước 2 – Tạo Webhook và kết nối với Fanpage
Như mình đã nói ở bài trước, viết bot bằng ngôn ngữ gì cũng được, chỉ tạo được webhook và gọi được RestAPI là ok. Tuy nhiên, Facebook sẽ check Webhook của bạn, đòi hỏi webhook phải là https. Việc code và deploy webhook sẽ khá phiền phức, do đó chúng ta sử dụng Cloud9 – IDE trên mây. Các bạn xem lại bài cũ để biết sơ cách sử dụng nhé.
Sau khi đăng nhập vào cloud9, bạn làm theo các bước sau nhé. Link Github chứa code là https://github.com/ToiDiCodeDaoSampleCode/facebook-chat-bot
Bạn đã thành công trong việc tạo Webhook và kết nối nó với fanpage. Mỗi khi có người nhắn tin cho fanpage, bot server sẽ nhận được tin nhắn. Bắt đầu viết code xử lý tin nhắn thôi nào.
Bước 3 – Xử lý tin nhắn và trả lời
Mỗi khi có tin nhắn, facebook sẽ POST một request như sau lên Webhook của chúng ta (Thông tin chi tiết về webhook ở đây).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters{ |
"object":"page", |
"entry":[ |
{ |
"id": "PAGE_ID", |
"time":1457764198246, |
"messaging":[ |
{ |
"sender":{ |
"id":"USER_ID" |
}, |
"recipient":{ |
"id":"PAGE_ID" |
}, |
"timestamp":1457764197627, |
"message":{ |
"mid":"mid.1457764197618:41d102a3e1ae206a38", |
"seq":73, |
"text":"hello, world!" |
} |
} |
] |
} |
] |
} |
Ta đọc trường messaging.message.text, xử lý và gửi chuỗi JSON sau đến RestAPI của facebook để trả lời (Thông tin chi tiết về API ở đây).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters{ |
"recipient":{ |
"id":"USER_ID" |
}, |
"message":{ |
"text":"hello, world!" |
} |
} |
Các bạn tiếp tục làm theo video nhé
Đây là file server.js thành quả cho các bạn ko đọc được code. Nhớ gắn token của bạn vào để chạy!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters// # SimpleServer |
// A simple chat bot server |
var logger = require('morgan'); |
var http = require('http'); |
var bodyParser = require('body-parser'); |
var express = require('express'); |
var router = express(); |
var app = express(); |
app.use(logger('dev')); |
app.use(bodyParser.json()); |
app.use(bodyParser.urlencoded({ |
extended: false |
})); |
var server = http.createServer(app); |
var request = require("request"); |
app.get('/', (req, res) => { |
res.send("Home page. Server running okay."); |
}); |
// Đây là đoạn code để tạo Webhook |
app.get('/webhook', function(req, res) { |
if (req.query['hub.verify_token'] === 'ma_xac_minh_cua_ban') { |
res.send(req.query['hub.challenge']); |
} |
res.send('Error, wrong validation token'); |
}); |
// Xử lý khi có người nhắn tin cho bot |
app.post('/webhook', function(req, res) { |
var entries = req.body.entry; |
for (var entry of entries) { |
var messaging = entry.messaging; |
for (var message of messaging) { |
var senderId = message.sender.id; |
if (message.message) { |
// If user send text |
if (message.message.text) { |
var text = message.message.text; |
console.log(text); // In tin nhắn người dùng |
sendMessage(senderId, "Tui là bot đây: " + text); |
} |
} |
} |
} |
res.status(200).send("OK"); |
}); |
// Gửi thông tin tới REST API để trả lời |
function sendMessage(senderId, message) { |
request({ |
url: 'https://graph.facebook.com/v2.6/me/messages', |
qs: { |
access_token: "token", |
}, |
method: 'POST', |
json: { |
recipient: { |
id: senderId |
}, |
message: { |
text: message |
}, |
} |
}); |
} |
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || process.env.PORT || 3002); |
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || process.env.IP || "127.0.0.1"); |
server.listen(app.get('port'), app.get('ip'), function() { |
console.log("Chat bot server listening at %s:%d ", app.get('ip'), app.get('port')); |
}); |
Hiện giờ bạn có thể test và viết thêm chức năng cho bot của mình được rồi đấy. Ở phần 3 mình sẽ hướng dẫn cách deploy bot lên server và submit cho Facebook duyệt nhé.
Discover more from Từ coder đến developer - Tôi đi code dạo
Subscribe to get the latest posts sent to your email.
Type your email…
Subscribe
Rate this:
Loading...Related
Từ khóa » Cách Dùng Lệnh Bot Messenger
-
Lệnh Chat Trong Bot Trên Facebook Gaming | Trung Tâm Trợ Giúp ...
-
Hướng Dẫn Làm Bot Facebook Messenger Cho Tài Khoản Cá Nhân
-
Cách Xây Dựng Một Con Bot Tự động Chat Trên Facebook Messenger
-
Facebook Chatbot: Cách Tạo & Sử Dụng Facebook Messenger Bot ...
-
Dùng Thử Messenger Chat Bot Và Chia Sẻ Về Tiềm Năng Của Việc Reply ...
-
Cách Tạo Bot Facebook Messenger (Hướng Dẫn)
-
Hãy Tự Tạo Cho Mình 1 Con Chat Bot Messenger, Nó Rất đơn Giản!
-
Mẹo Tự Tạo Chatbot Facebook, Trả Lời Tin Nhắn Tự động Messenger
-
Chia Sẻ - Tạo Bot Tính Rank Trong Nhóm Chat Facebook | KB2A Team
-
Hướng Dẫn Tạo Bot Messenger – Miễn Phí Và Rất đơn Giản
-
Hướng Dẫn Viết Chat Bot Cho Facebook – Phần 1: Kiến Thức Cơ Bản ...
-
Tự Tạo Chatbot Facebook, Trả Lời Tin Nhắn Tự động Messenger
-
Cách Xây Dựng Chatbot Cho Facebook Messenger Bằng ChatCompose
-
Cách Tạo 1 Con Bot Trang Cá Nhân Theo Phong Cách Haccur (sử Dụng ...