Tạo một con bot tùy chỉnh trong Slack

Từ khi sử dụng Slack tôi thấy nó có nhiều thứ hay ho để tìm hiểu. Một trong những thứ đó là mình có thể tạo được một con bot tùy chỉnh và viết các mã để nó có thể nhận sử dụng coffee script để nó nhận lệnh và thực thi. Mặc định trong Slack có một con bot nhưng nó có một số hạn chế nhất định. Do đó tôi có tìm hiểu sơ thì thấy một con bot hoàn toàn miễn phí, mã nguồn mở và có thể tùy chỉnh nhiều thứ. Con bot mà tôi nói có tên là hubot và mã nguồn được đặt ở github https://github.com/github/hubot.

Tôi quyết định thử cài đặt để test thử xem sao. Tất cả việc cài đặt tôi thực hiện trên Windows 10. Quá trình cài đặt bot cho slack có thể được tóm tắt như sau:

  1. Tạo bot trên máy local
  2. Kích hoạt tích hợp Hubot trong Slack
  3. Upload bot lên heroku để bot hoạt động

Để làm 2 công việc trên thì chúng ta phải cài đặt một số công cụ hỗ trợ

Ngoài ra bạn nên đăng kí tài khoản tại tại github và heroku. Tạo một con bot mới trên máy local

Ttôi làm theo hướng dẫn sau npm install -g hubot coffee-script yo generator-hubot một số cảnh báo sẽ xuất hiện nhưng bạn cứ để nó chạy như vậy đến khi kết thúc

Hình 1 - Cài đặt hubot trong Slack Cài đặt hubot trong Slack - hình 2

Tạo thư mục chứa bot bằng lệnh sau:

    mkdir -p /path/to/hubot 

Chuyển sang thư mục chứa bot cd /path/to/hubot

Tạo bot bằng lệnh

    yo hubot

Ở bước này bạn sẽ phải điền một số thông tin vào con bot và khi hỏi adapter cho bot tôi chọn Slack

Cài đặt hubot trong Slack -  hình 3

Cài đặt hubot trong Slack - hình 4

Xác nhận lại một lần nữa hubot cho slack

npm install hubot-slack --save **Kích hoạt tích hợp Hubot trong Slack

Tích hợp Hubot trong Slack

**

Tích họp bot trong Slack 2 **

**

Tích hợp bot trong Slack - Hình 3

**Upload bot lên heroku để bot hoạt động

**

    $ heroku login

Enter your Heroku credentials. Email: niklas@hardcoded.se Password (typing will be hidden):Authentication successful.updating…done. Updated to 3.26.0 **

    $ heroku create --region eu

Creating gentle-sands-946h7… done, region is eu https://gentle-sands-9467.herokuapp.com/ | https://git.heroku.com/gentle-sands-9467.git Git remote heroku added$ heroku apps:rename tencuabot

**

    $ heroku config:add HEROKU_URL=https://botname.herokuapp.com

$ heroku config:add HUBOT_SLACK_TOKEN=xoxb-5678-12345-12345**

**

    $ heroic add ons:add redistogo:nano

Adding redistogo:nano on acastbot… done, v7 (free) Use heroku addons:docs redistogoto view documentation.**

**

Trong một số phần trên tôi viết hơi vội nếu bạn nào đọc có thắc mắc thì tham khảo thêm các link ở trên nhé

Sau đây là link hữu ích

http://hardcoded.se/2015/02/16/hubot-slack-and-azure-deployments-part-1/

https://github.com/github/hubot/blob/master/docs/deploying/heroku.md

**


**