+11

Tự động trả lời tin nhắn thông minh và hài hước qua facebook messenger sử dụng Node.js và Simsimi

Xin chào các bạn, hôm nay mình sẽ chia sẻ một ứng dụng rất hay dành cho những ai đang sử dụng Facebook Messenger. Đó là tự động trả lời tin nhắn 1 cách thông minh cũng như hài hước bằng cách khá đơn giản là sử dụng package Simsimi và Node.js.

Bắt đầu

$ mkdir facebook-chat && cd facebook-chat // tạo và di chuyển đến thư mục
$ npm init // tạo file package.json, bạn cứ enter cho đến hết là được
$ touch index.js // tạo file index.js

Đầu tiên bạn cần cài đặt package cần thiết đó là facebook-chat-api, simsimidotenv:

$ npm install simsimi
$ npm install facebook-chat-api
$ npm install dotenv

Tiếp theo trong file index.js:

require('dotenv').config();
var login = require('facebook-chat-api');
const simsimi = require('simsimi')({
	key: `${process.env.KEY}`,
	api: 'http://sandbox.api.simsimi.com/request.p',
	lc: 'vn',
	ft: '1.0'
});

login({
	email: `${process.env.EMAIL}`,
	password: `${process.env.PASSWORD}`
},
(err, api) => {
	if (err) return console.error(err);
	api.listen(function callback(err, message) {
		if (message.type === 'message') {
			simsimi(message.body)
				.then(response => {
					api.sendMessage(`BOT: ${response}`, message.threadID);
					console.log(message.body);
					console.log(`BOT: ${response}`);
					api.markAsRead(message.threadID);
				})
				.catch(err => {
					api.sendMessage(
						'BOT: Tao đang đơ, không trả lời được :)',
						message.threadID
					);
					console.log(err);
				});
		} else {
			api.sendMessage(
				'BOT: Tao đang đơ, không trả lời được :)',
				message.threadID
			);
			console.log(err);
		}
	});
}
);

Sau đó các bạn tao thêm file .env, sau đó nhập EMAILPASSWORD vào nhé. Còn 1 phần quan trọng nữa đó là KEY. Vậy KEY này lấy ở đâu?

Các bạn truy cập vào địa chỉ này để đăng kí một tài khoản trên Simsimi nhé. Sau khi đăng kí xong, bạn chạy vào phần api và chọn vào phần Signup for Trial key như hình dưới: Do đây chỉ là thử nghiệm nên mình sẽ chỉ chọn cái Free để test thôi, còn nếu ai có hứng thú có thể mua với các gói khác nhau 😄.

Sau khi đăng kí thành công bạn sẽ có một giao diện như sau: Đây chính là key mà bạn cần tìm, bạn thêm thông số KEY vào file .env nhé. Cơ mà bạn chỉ được dùng thử 1 tuần, mỗi ngày 100 requests thôi nhé =))) (facepalm).

Vậy là xong rồi, giờ chúng ta chỉ việc chạy thôi

$ node index.js

Thành quả

Và đây là kết quả của mình:

Thật ra để làm được như vậy cũng không có gì khó khăn lắm, chỉ việc cài đặt package và gọi đến nó là được. 😄

À còn một lưu ý nữa mà mình thấy đó là nếu bạn gửi ảnh hoặc dữ liệu không phải message thì nó sẽ không thể hoạt động được.

Cuối cùng, cảm ơn các bạn đã theo dõi và đọc bài viết này. Mình xin dừng bài viết lại tại đây. Có thắc mắc hoặc chia sẻ gì các bạn cứ để lại comment cho mình nhé. Source code mình để trên Github các bạn có thể xem và tham khảo. Tạm biệt!


All rights reserved

Bình luận

Đăng nhập để bình luận
Avatar
@phiphophe
thg 11 8, 2018 11:26 SA

Cài đặc các gói ?, bạn cài các gói rồi set up chuỗi với bộ câu hỏi, hay nó làm được sử lý ngôn ngữ tự nhiên. Mình nghĩ nó chưa đc như thế chứ. Vì xử lí tiếng việt là một cái gì đó làm mình phát điên 😬.

Xem thêm (2)
Avatar
@phimanh2905
thg 11 9, 2018 4:49 SA

cái này bộ xử lý NLP đó bạn. được trainning bởi người dùng từ trước đó rồi. mình đang dùng database của bên cung cấp mà :v

Avatar
@vuongthai95
thg 11 9, 2018 6:23 SA

ý mình là nếu tự tay xây dựng NLP từ đầu thì sẽ phức tạp hơn rất nhiều ấy

Avatar
@vuongthai95
thg 11 9, 2018 4:05 SA

Mấy thanh niên FA sẽ thích bài này! 😆

Avatar
@vunguyen10111995
thg 11 9, 2018 4:18 SA

cái này chắc là do bên AI hoặc ML xử lý, còn mình dùng package này chắc để họ thu thập data cũng như "huấn luyện" cho chương trình của họ thôi. 1 công đôi việc, sắc bén quá 😄

Avatar
@vuongthai95
thg 11 9, 2018 4:19 SA

đôi bên cùng có lợi 😄

Avatar
@mxh.3giai
thg 8 2, 2019 3:21 CH
Avatar
@mxh.3giai
thg 8 2, 2019 3:22 CH

Bên Messflow cũng đang cung cấp chatbot, đặc biệt có thể code ngay nodejs bên trong con Bot của họ! Ai thử qua chưa ? code01.PNG

Avatar
@huzely
thg 2 27, 2024 5:22 CH

giờ còn dùng đc ko chủ thớt ơi

Avatar
+11
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí