Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / Web Development / Javascript / Hướng dẫn tạo Chat Bot tự động trả lời tin nhắn Facebook

Hướng dẫn tạo Chat Bot tự động trả lời tin nhắn Facebook

Bài viết sau đây, Ngô Tôn xin hướng dẫn các bạn tạo Chat Bot tự động trả lời tin nhắn Facebook.
Để hiểu rõ cách thức Facebook Bot hoạt động, bạn cần nắm rõ 2 khái niệm: Webhook và RestAPI.

Webhook là gì?

Webhook bạn có thể hiểu đơn giản là 1 công cụ để truy vấn và lưu trữ dữ liệu của một Event xác định. Khi một trong những sự kiện được kích hoạt, nó sẽ gửi một HTTP POST đến URL đã được cấu hình webhook.

RestAPI?

Có một bài viết mình đã nói về Rest API các bạn có thể xem qua bài viết này tại đây: Xây dựng Webservice với RESTful API trong PHP

Cơ chế hoạt động của Facebook Bot

Cơ chế hoạt động của Facebook Bot cũng khá đơn giản.
Đầu tiên, ta đăng ký 1 địa chỉ webhook  với Facebook. Khi có người gửi tin nhắn đến bot, facebook sẽ POST thông báo đến webhook của chúng ta để ta tiếp tục xử lý.

Sau khi xử lý xong, nếu muốn reply lại người dùng, ta gửi tin cho RestAPI của Facebook. Khi nhận được tin, bot sẽ trả lời lại cho người dùng.

facebook-bot

Giờ chúng ta sẽ bắt đầu nhé.

Bước 1: Tạo một Fanpage (Nếu bạn nào có rồi thì bỏ qua)

Bước 2: Tạo Ứng dụng mới

  • Các bạn vào địa chỉ sau: https://developers.facebook.com/ rồi tạo 1 App mới, các bạn nhập thông tin tùy ý.
  • Sau khi đã tạo được App, các bạn vào phần Thêm sản phẩm và chọn Messenger.

Tạm thời ta chưa sử dụng đến ứng dụng này.

Bước 3: Các bạn tạo 1 tài khoản trên trang Cloud 9: https://c9.io

Bước 4: Thêm Workspace mới để tạo webhook.

  • Workspace name: Các bạn đặt tùy ý, ở đây mình đặt là ” facebook-chat-bot 
  • Để nhanh chóng các bạn hãy clone code từ trang Git của mình. Hãy điền địa chỉ sau vào phần Clone from Git or Mercurial URL (optional): https://github.com/ngoton/facebook-chat-bot
  • Các bạn chọn TemplateNode.js
  • Sau khi Cloud 9 built xong các bạn chạy script sau dưới phần bash
  • Xong, các bạn Run thử. Cloud 9 sẽ tạo cho các bạn 1 địa chỉ URL, ví dụ của mình là: https://facebook-chat-bot-ngoton.c9users.io

Bước 5: Tạo Webhook

Ở đây mình tạo đường dẫn sau: https://facebook-chat-bot-ngoton.c9users.io/webhook 
Mã xác thực (verify_token) các bạn đặt tùy ý, mình đặt là “ngoton.it” 😀

Bước 6: Đăng ký Webhook với Facebook

– Các bạn quay trở lại trang ứng dụng facebook mình đã tạo trước đó.
– Tại phần Cài đặt của Messenger, các bạn chọn Setup Webhooks.
– Mục URL các bạn điền địa chỉ webhook: https://facebook-chat-bot-ngoton.c9users.io/webhook.
Mã xác minh là mã xác thực ở đoạn code trên bước 5 chúng ta đã tạo: “ngoton.it“.
– Các bạn tick vào các trường rồi Xác minh và lưu.
– Cuối cùng, bạn chọn trang fanpage nào cần đăng ký rồi bấm Đăng ký.

Bước 7: Xử lý tin nhắn khi người dùng nhắn tin cho bot

Các bạn thay “page_token” bằng Mã truy cập Trang bằng cách:
Tại phần cài đặt Ứng dụng Facebook, các bạn chọn trang fanpage sau đó bạn sẽ nhận được đoạn mã Access Token có dạng sau:
EAACWarf4hLQBABRnZAxpVnl8hiJFVgH2lEQT5p3a969AOPmEJzhcZArOzZCNVxu0a2O3jBeKT797vyZBtC8cswt

Vậy là xong, các bạn có thể test bằng cách nhắn tin cho trang fanpage, bot sẽ tự động trả lời cho bạn bằng câu:

Các bạn chú ý là hiện tại chúng ta đang ở trạng thái test chưa được publish nên sẽ chưa hoạt động với người dùng khác, các bạn cần phải submit cho Facebook xét duyệt. À quyên, các bạn nên deploy lên hosting để lưu trữ vì trên Cloud 9 chỉ hỗ trợ chúng ta test thôi. Các bạn có thể chọn Openshift khá lá tốt.

Submit Facebook

  • Các bạn điền đầy đủ thông tin cho Ứng dụng.
  • Tại mục App Review for Messenger của phần Cài đặt Messenger các bạn bấm Add to Submission.
  • Điền đầy đủ thông tin sau đó Gửi.

Mình có làm video cho các bạn tiện theo dõi. Hi vọng bài viết này giúp ích cho các bạn. Chúc các bạn thành công!

Bài viết sau đây, Ngô Tôn xin hướng dẫn các bạn tạo Chat Bot tự động trả lời tin nhắn Facebook. Để hiểu rõ cách thức Facebook Bot hoạt động, bạn cần nắm rõ 2 khái niệm: Webhook và RestAPI. Webhook là gì? Webhook bạn có thể hiểu đơn giản là 1 công cụ để truy vấn và lưu trữ dữ liệu của một Event xác định. Khi một trong những sự kiện được kích hoạt, nó sẽ gửi một HTTP POST đến URL đã được cấu hình webhook. RestAPI? Có một bài viết mình đã nói về Rest API các bạn có thể xem qua bài…

User Rating: 5 ( 1 votes)

About ngoton

Ngô Tôn is a programmer. He is crazy about new gadgets and up to date with latest technology trends. Use comments to notify any issues you are facing.

Check Also

playlist

Hướng dẫn làm Playlist bằng HTML, CSS, Jquery

Hôm nay, Ngô Tôn .IT xin hướng dẫn các bạn làm 1 trang web playlist nhạc …

Leave a Reply

Your email address will not be published. Required fields are marked *