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:
- Tạo bot trên máy local
- Kích hoạt tích hợp Hubot trong Slack
- 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ợ
- node.js and npm để tạo bot trên local
- https://git-scm.com/download/win
- heroku toolbelt window
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
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
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
**
**
**Upload bot lên heroku để bot hoạt động
**
$ heroku login
Enter your Heroku credentials. Email: [email protected] 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
**
**