News & Events
Hướng dẫn cách viết Chat bot cho Facebook – Marketing hiệu quả
- 29/03/2016
- Posted by: Bùi Đạt
- Category: Chiến lược Marketing Video Bài giảng Video học Lập trình web
Chào các bạn. Hôm nay mình sẽ giới thiệu tới các bạn một tuyệt chiêu mới – đó là Chat Bot Facebook. Bạn có muốn đi bán sim không? Hôm nay chúng ta sẽ làm một công cụ giống như những người anh em bán sim của chúng ta đã sử dụng – Facebook Chat Bot. Công cụ sẽ cho phép bạn gửi tin nhắn hàng loạt và tự động trả lời tin nhắn. Nó rất đơn giản thôi mọi người cùng tìm hiểu nhé.
Chức năng
Nó có rất nhiều chức năng phong phú và đa dạng tuy nhiên ở bài này mình chỉ dừng lại ở việc “tự động trả lời tin nhắn”. Rất đơn giản và hữu ích phải không nào?
Facebook đã không cung cấp chat API nữa vì thế ta sẽ phải tự làm từ a-z. Ta cần phải giả danh một người dùng, đăng nhập FB, tạo ra http request tới máy chủ của Facebook để thực hiện thao tác nhắn tin.
Rất may là có người làm điều này giúp chúng ta – một module mà ta chỉ cần dùng ngay thôi. Đó là thư viện Facebook Chat API của Avery Morin. Mình cũng không biết những anh em bán sim có dùng thư viện này không nữa.
Thiết lập Project
Đây chính là project được viết bằng nodejs, nên trước hết bạn cần phải có nodeJS. Nếu chưa cài thì bạn hãy xem hướng dẫn sau: Install Nodejs.
Bây giờ, hãy mở cmd lên và tạo một thư mục mà bạn muốn code project trong đó. Di chuyển vào trong thư mục và tạo nodejs project bằng lệnh sau:
1 | npm init |
Sau đó hãy cung cấp những thông tin theo như yêu cầu. Giờ bạn có file package.json có nội dung gần như thế này:
1 2 3 4 5 6 7 8 9 10 11 | { "name": "facebook-bot", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } |
Theo như config này thì tệp tin chính của bạn sẽ là index.js. Nên giờ bạn cần tạo một file nội dung như này:
1 | console.log("Hello"); |
Giờ bạn hãy run thử với lệnh node index.js. Kết quả sẽ cho ra là Hello
Cài đặt module
Để có thể cài module FB Chat API hãy sử dụng lệnh:
1 | npm install facebook-chat-api |
Đợi vài giây là done!
Cách trả lời tin nhắn đơn giản
Một chức năng đơn giản, khi bạn mở bot lên ai nhắn cho bạn cũng sẽ reply một nội dung nhất định. Code nó đại loại như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var login = require("facebook-chat-api"); var answeredThreads = {}; // Create simple echo bot login({email: "sonvu@gmail.com", password: "*****"}, function callback (err, api) { if(err) return console.error(err); api.listen(function callback(err, message) { console.log(message.threadID); if(!answeredThreads.hasOwnProperty(message.threadID)){ answeredThreads[message.threadID] = true; api.sendMessage("BOT - Hiện tại mình đang đi ra ngoài, mình sẽ trả lời bạn ngay khi tới nhà,", message.threadID); } }); }); |
Mình sẽ đánh dấu lại những thread nào đã trả lời rồi đề không bị trả lời thành 2 lần 1 người. Việc này khá gây phiền hà cho người nhắn tin, thiếu chuyên nghiệp và tốn tài nguyên nữa :))
Tự động trả lời tùy theo khung giờ
Ok và đây là đoạn code sẽ giúp bot trả lời theo khung giờ nhất định (VD giờ đêm lúc đi ngủ rồi chẳng hạn)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | var login = require("facebook-chat-api"); var answeredThreads = {}; // Create simple echo bot login({email: "YOUR_EMAIL", password: "****"}, function callback (err, api) { if(err) return console.error(err); api.listen(function callback(err, message) { var d = new Date(); var h = d.getHours(); if(h >= 12 && h <= 13 && !answeredThreads.hasOwnProperty(message.threadID)){ api.getUserInfo(message.senderID, function(err, ret) { if(err) return console.error(err); for(var prop in ret) { if(ret.hasOwnProperty(prop) && ret[prop].name) { api.sendMessage( "BOT : Xin lỗi nha " + ret[prop].name + ", Giờ mình đi ra ngoài rồi, không có thời gian trả lời bạn.", prop, function(){ answeredThreads[message.threadID] = true; }); } } }); } }); }); |
Tóm lại!
Qua bài viết này các bạn đã biết được cách tạo bot FB để trả lời tin nhắn tự động thế nào. Rất đơn giản phải không các bạn, nó sẽ hỗ trợ các bạn rất nhiều trong việc tạo game show nào đó, tạo một hệ thống support, bán sim, bán thẻ…rất nhiều thứ có thể ứng dụng được. Chúc các bạn một ngày vui vẻ!
Trả lời Hủy
Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.