Cách xây dựng một con Bot tự động chat trên Facebook Messenger
Trong bài viết dưới đây Thủ Thuật Việt sẽ hướng dẫn bạn cách xây dựng một con Bot tự động chat trên Facebook Messenger.
Tóm tắt nhanh cho cách xây dựng một con bot tự động chat trên facebook messenger: (1) Thiết lập ➔ (2) 1. Xây dựng server ➔ (3) 2. Thiết lập ứng dụng Facebook App ➔ (4) 3. Thiết lập Bot ➔ (5) Tùy chỉnh thông điệp bot 'nói'.
Điểm cốt lõi cần nắm về Cách xây dựng một con Bot tự động chat trên Facebook Messenger
Mới đây Facebook đã mở nền tảng Messenger Platform để kích hoạt Bot giao tiếp với người dùng thông qua ứng dụng Facebook Apps và Facebook Pages.
Để tiết kiệm thời gian và tránh thao tác sai lệch, bạn hãy làm theo trình tự từng bước đã được chuẩn hóa dưới đây.
Hướng dẫn thực hiện chi tiết từng bước
Bước 1: Thiết lập
- Messenger bot sử dụng web server để xử lý những tin nhắn mà nó nhận được hoặc tìm ra các tin nhắn để gửi.
- Mẹo thao tác nhanh: Quan sát kỹ biểu tượng trạng thái ở góc cửa sổ trước khi chuyển sang bước kế tiếp.

Bước 2: 1. Xây dựng server
- Nếu chưa có tài khoản, bạn có thể đăng nhập miễn phí tại https://www.heroku.com.
- Chi tiết thực hiện: 2. Truy cập https://nodejs.org để cài đặt Node tạo môi trường server.
- Chi tiết thực hiện: Sau đó tiến hành mở Terminal hoặc Command Line Prompt để chắc chắn bạn đã cài đặt phiên bản npm mới nhất bằng cách cài đặt nmp một lần nữa:
- Chi tiết thực hiện: 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 để chấp nhận giá trị mặc định:
sudo npm install npm –g
npm init
npm install express request body-parser --save
'use strict'
const express = require('express')
const bodyParser = require('body-parser')
const request = require('request')
const 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_password_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'))
})
web: node index.js
git init
git add .
git commit --message "hello world"
heroku create
git push heroku master
Bước 3: 2. Thiết lập ứng dụng Facebook App
-
- Truy cập https://developers.facebook.com/apps/ để tạo hoặc cấu hình Facebook App hoặc Page.
- Chi tiết thực hiện: 2. Trên ứng dụng, chuyển qua thẻ Messenger sau đó click chọn Setup Webhook. Tại đây nhập mã URL của server Heroku và mã thông báo.
- Chi tiết thực hiện: 3. Nhận Page Access Token và lưu lại mã này.
- Chi tiết thực hiện: 4. Quay trở 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 ý, thay Page Access Token mà bạn đã lưu ở bước 3 vào phần <PAGE_ACCESS_TOKEN>.
curl -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<PAGE_ACCESS_TOKEN>"
Bước 4: 3. Thiết lập Bot
-
- Thêm vào điểm cuối API để index.js thực hiện quá trình xử lý tin nhắn. Lưu ý, thay Page Access Token mà bạn đã lưu ở bước 3 vào phần <PAGE_ACCESS_TOKEN>.
- Chi tiết thực hiện: app.post(‘/webhook/’, function (req, res) { let messaging_events = req.body.entry[0].messaging for (let i = 0; i < messaging_events.length; i++) { let event = req.body.entry[0].messaging[i] let sender = event.sender.id if (event.message && event.message.text) { let text = event.message.text sendTextMessage(sender, “Text received, echo: ” + text.substring(0, 200)) } } res.sendStatus(200) }) const token = “<PAGE_ACCESS_TOKEN>” 2. Thêm một chức năng để phản hồi lại tin nhắn:
- Chi tiết thực hiện: function sendTextMessage(sender, text) { let 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à đẩy lên Heroku:
- Chi tiết thực hiện: 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 chat.
app.post('/webhook/', function (req, res) {
let messaging_events = req.body.entry[0].messaging
for (let i = 0; i < messaging_events.length; i++) {
let event = req.body.entry[0].messaging[i]
let sender = event.sender.id
if (event.message && event.message.text) {
let text = event.message.text
sendTextMessage(sender, "Text received, echo: " + text.substring(0, 200))
}
}
res.sendStatus(200)
})
const token = "<PAGE_ACCESS_TOKEN>"
function sendTextMessage(sender, text) {
let 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)
}
})
}
git add .
git commit -m 'updated the bot to speak'
git push heroku master
Bước 5: Tùy chỉnh thông điệp bot ‘nói’
- Nếu chưa có tài khoản, bạn có thể đăng nhập miễn phí tại https://www.heroku.com.
- Mẹo thao tác nhanh: Quan sát kỹ biểu tượng trạng thái ở góc cửa sổ trước khi chuyển sang bước kế tiếp.
Lưu ý thực tế dành cho người dùng tại Việt Nam
- Xung đột bộ gõ tiếng Việt: Khi nhập lệnh, đường dẫn thư mục hoặc công thức hàm, hãy chuyển bộ gõ Unikey / EVKey sang chế độ tiếng Anh (E) để tránh lỗi nhảy dấu hoặc mất ký tự.
- Kiểm tra phân quyền: Nếu hệ thống yêu cầu xác nhận quyền quản trị (Run as Administrator) hoặc mã PIN thiết bị, hãy cấp quyền để thay đổi được lưu vĩnh viễn.
📊 Bảng mẹo quản lý dung lượng & Bảo mật Zalo PC / Điện thoại
| Tính năng Zalo | Đường dẫn thao tác nhanh | Tác dụng thực tế |
|---|---|---|
| Giải phóng bộ nhớ đầy | Cá nhân ➔ Dung lượng và dữ liệu ➔ Xóa bộ nhớ đệm | Giảm 3GB – 15GB dung lượng rác mà không mất tin nhắn quan trọng |
| Đồng bộ tin nhắn sang máy mới | Cài đặt ➔ Sao lưu và khôi phục ➔ Sao lưu ngay | Giữ nguyên 100% lịch sử trò chuyện khi đổi điện thoại hoặc cài lại Zalo PC |
| Gửi ảnh gốc nét căng (HD) | Chọn ảnh ➔ Tích chọn ô HD ở góc dưới trước khi gửi | Không bị nén vỡ hạt khi gửi ảnh tài liệu, hóa đơn hoặc thiết kế |
| Khóa Zalo bằng mã PIN/FaceID | Cài đặt ➔ Tài khoản và bảo mật ➔ Khóa Zalo | Bảo vệ tin nhắn riêng tư khi cho mượn điện thoại hoặc rời bàn làm việc |
[!TIP] Mẹo thực chiến nhanh: Khi thao tác với cách xây dựng một con bot tự động chat trên facebook messenger, nếu cần nhập công thức hoặc phím tắt trên máy tính, hãy kiểm tra nhanh chế độ gõ Unikey / EVKey ở góc phải thanh Taskbar để tránh lỗi gõ nhầm ký tự.
🔗 Tiện ích & Công cụ thực chiến liên quan
- Tính lương & thuế TNCN tự động: Bảng tính lương Gross Net chuẩn cập nhật mới nhất.
- Kho tài nguyên đồ họa & font chữ Việt hóa: Tải mẫu PSD chuẩn chất lượng cao.
- Tạo mã QR WiFi & VietQR không giới hạn: Tạo mã QR miễn phí không hết hạn.
- Xem lịch âm dương & ngày hoàng đạo: Tra cứu lịch vạn niên & ngày hoàng đạo.
Tạo Link Chat Zalo 1-Chạm & Cú Pháp 4G/5G 3 Nhà Mạng
Tạo nhanh đường dẫn mở khung chat Zalo trực tiếp từ số điện thoại, tra cứu cú pháp kiểm tra dung lượng 4G/5G Viettel, VinaPhone, MobiFone và mẹo giải phóng bộ nhớ.
https://zalo.me/0912345678 (Thay dãy số 0912345678 bằng số điện thoại thực tế của bạn để khách hàng bấm vào là mở ngay khung chat Zalo trên điện thoại và máy tính).
Muốn chèn logo quán cafe/công ty vào giữa mã QR, tạo mã VietQR ngân hàng hoặc tải file in ấn SVG/PNG nét căng?
📱 Tạo mã QR WiFi, VietQR chuyển khoản & VCard tức thì
Tạo mã QR quét tự động kết nối Wi-Fi cho khách hoặc mã VietQR thanh toán ngân hàng không giới hạn lượt quét, tải PNG/SVG sắc nét.
Câu hỏi thường gặp
Thực hiện cách xây dựng một con bot tự động chat trên facebook messenger có làm ảnh hưởng đến dữ liệu trong máy không?
Các thao tác hướng dẫn ở trên chỉ can thiệp vào phần cấu hình tính năng, hoàn toàn giữ nguyên dữ liệu và tệp tin cá nhân của bạn.
Nếu giao diện trên máy hơi khác so với mô tả thì xử lý thế nào?
Tùy phiên bản cập nhật của phần mềm hoặc hệ điều hành mà tên mục có thể thay đổi nhẹ. Bạn chỉ cần gõ từ khóa tính năng vào ô Tìm kiếm (Search) trong phần Cài đặt là sẽ thấy ngay.
Hướng dẫn này có giúp bạn giải quyết xong việc trong 60 giây không?
Bài viết cùng chuyên đề Zalo
Xem toàn bộ Zalo →
Cách xác thực tài khoản Facebook qua xác minh 2 lớp
Bảo mật 2 lớp Facebook hay 2FA Facebook hiện là cách bảo mật tài khoản Facebook nâng cao, với nhiều kiểu bảo mật 2 lớp để chúng ta lựa chọn.
Cách vô hiệu hóa trình duyệt của Facebook
Khi vô hiệu hóa trình duyệt của Facebook thì việc đọc nội dung, thông tin sẽ nhanh hơn rất nhiều thay vì bạn dùng trình duyệt có sẵn của Facebook.
Cách vô hiệu hóa Facebook nhưng vẫn dùng Messenger
Facebook có tùy chọn vô hiệu hóa Facebook nhưng vẫn dùng Messenger để bạn thuận tiện trao đổi hay nhắn tin với người khác.
Xem thêm tổng hợp: Cách giảm dung lượng /'Dữ liệu hệ thống/' (System Data) trên iPhone
📂 Khám phá các chuyên đề thuộc Di động: