Git Product home page Git Product logo

chatbot-cnh's Introduction

Chatbot CNH - Version 4.1


Lời nói đầu

Bonjour à tous,

Mình là Nui. Mình lập ra chatbot này với mục đích ban đầu là để thử thách bản thân, cũng như giúp mọi người có 1 nơi lành mạnh để giải tỏa tinh thần.

Vì nó được làm từ lúc kinh nghiệm của mình còn ít ỏi, phong cách code sẽ khá xấu. Tuy nhiên, mình muốn tập trung nhiều vào việc tối ưu hóa, trong khi phải giảm tối đa chi phí hoạt động (thực tế mình chưa phải bỏ ra đồng nào để duy trì nó 😃 ). Đồng thời mình cũng đã thử nghiệm 1 vài phương pháp thống kê thông qua dữ liệu thu được. Điều này rất ý nghĩa với mình vì nó giúp mình có 1 cái nhìn tổng quát hơn về nhu cầu của người sử dụng.

Mình mong rằng với source code này, các bạn, không kể là học sinh CNH hay không, có thể tự tạo 1 chatbot hoàn hảo của riêng mình.

Merci et bonne chance!

P/S: Bạn có thể ghé thăm website chính thức của Nui tại đây: https://ngxson.com/

Tính năng

Ngoài tính năng nói chuyện ẩn danh mà hầu hết các chatbot cơ bản đều có, Chatbot CNH còn có 1 vài tính năng thú vị như:

  • Ghép cặp theo nam - nữ
  • Gửi ảnh chó/mèo bất kỳ khi gõ meow hoặc gauw
  • Nút báo cáo cho admin được đặt tại các vị trí cần thiết, tránh để người dùng sử dụng nút report của facebook => page dễ bị xóa
  • Các thông báo lỗi rõ ràng, người dùng dễ hiểu (ví dụ như inbox ko gửi được do "đối" chat đã block page/deactive facebook...)
  • Có giao diện cho admin quản lý
  • Tối ưu hóa trong hệ thống như:
    • Có cache để đỡ truy vấn SQL nhiều lần (các bạn dùng heroku hay c9 sẽ gặp vấn đề là server chính với server SQL ở xa nhau, độ trễ sẽ lớn. Vì vậy, có cache sẽ giúp giảm rất rất nhiều lượt query)
    • Cache sử dụng native c++ hashtable
    • Đối với heroku, tự động reset app để lấy IP khác nếu IP hiện tại bị facebook chặn.
    • Hạn chế tối đa việc sử dụng try... catch

Hướng dẫn cài đặt

Các bạn hãy xem hướng dẫn kèm ảnh chi tiết tại đây (dùng host Heroku): click here

Đối với các bạn dùng C9 hay host riêng: click here

(Bạn nên in hướng dẫn này ra cho dễ nhìn, chỉ có 16 trang thôi mà 😃 )

UPDATE Hãy tham gia group để báo lỗi cũng như nhận các bản cập nhật trong tương lai: click here

Sơ đồ hoạt động

Trăm nghe không bằng 1 thấy. Mình nghĩ sơ đồ sau sẽ giúp bạn có cái nhìn tổng quát hơn về những gì mình đã làm:

Trong sơ đồ còn 1 vài phần mình chưa biểu diễn đc:

  • facebook.js: chứa tools để giao tiếp với facebook
  • extension/gifts.js: công cụ chọn ảnh chó/mèo random
  • extension/logger.js: công cụ lưu lại ID các cặp vào Google Form
  • extension/broadcast.js: công cụ gửi tin nhắn tới tất cả người dùng
  • extension/admin.js: công cụ giao tiếp với giao diện admin
  • extension/cronjob.js: cronjob tự động kick người dùng khỏi hàng chờ nếu phải chờ quá lâu
  • dbmongo.js: tools để giao tiếp với MongoDB
  • dbcache.js: tools để giao tiếp với cache

Thanks to

Mã nguồn của mình có dựa vào source của @jw84: click here

chatbot-cnh's People

Contributors

ngxson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.