了解最新公司動態(tài)及行業(yè)資訊
開發(fā)自定義機(jī)器人腳本
首先,在決定開發(fā)自定義腳本時,可以使用 npm 命令查看是否有類似的腳本可用。
$ npm search hubot-scripts github NAME DESCRIPTION hubot-deployer Giving Hubot the ability to deploy GitHub repos to PaaS providers hubot hubot-scripts hubot-gith hubot-gh-release-pr A hubot script to create GitHub's PR for release hubot-github Giving Hubot the ability to be a vital member of your github organization …
應(yīng)用 NPM 包:
npm --save 首先將 -name 添加到 -.json
項目結(jié)構(gòu)
默認(rèn)需要導(dǎo)出一個:
module.exports = (robot) -> # your code here
首先我們創(chuàng)建我們的第一個腳本,你好。
module.exports = (robot) -> robot.respond /greet/i, (res) -> res.send 'hello world.'
重啟,輸入greet
myhubot> myhubot greet myhubot> hello world.
Hubot 語法 &
可以收聽房間或群組中的任何消息。
只監(jiān)聽直接發(fā)給機(jī)器人的消息,即需要指定機(jī)器人名稱或別名服務(wù)器運(yùn)維,添加機(jī)器人名稱為rob,別名為/,則如下格式會觸發(fā)腳本:
- rob open the pod bay doors - ROB: open the pod bay doors - @ROB open the pod bay doors - /open the pod bay doors
發(fā)送和回復(fù)
res參數(shù)是實例服務(wù)器運(yùn)維,如果你想從bot返回消息,你可以使用send或reply。
發(fā)送會將消息發(fā)送到整個聊天室或群組。
reply 將消息回復(fù)給特定的人。
更多信息請參考官網(wǎng)
更復(fù)雜的例子
Hubot是基于node.js開發(fā)的,所以它能做node.js能做的,比如:
示例:查看服務(wù)器端日歷信息
/.
child_process = require('child_process') module.exports = (robot) -> robot.respond /(cal|日歷)( me)?/i, (res) -> child_process.exec 'cal', (err, stdout, stderr) -> res.send(stdout)
重啟,輸入cal,可以看到控制臺返回了服務(wù)器的日歷信息
Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
捕獲所有未處理的信息
為了讓機(jī)器人的響應(yīng)更加友好,您可以為無法識別的信息設(shè)置一個默認(rèn)的返回信息。
/.
module.exports = (robot) -> robot.catchAll (res) -> res.send "主人,無法識別您的指令:#{res.message.text}"
融入微信
hubot 默認(rèn)提供兩種類型,shell 和 .
shell提供了命令行方式,開發(fā)調(diào)試或者運(yùn)維還好,聊天就太差了。
聊天工具在國內(nèi)聽說過的人不多,不用也無所謂。
依托hubot靈活的擴(kuò)展機(jī)制,社區(qū)提供各種聊天工具的集成。它可以在官方網(wǎng)站上找到。
不過在中國,最流行的聊天軟件當(dāng)然是微信了。把自己的聊天機(jī)器人綁定到自己的微信賬號上,和它調(diào)情,是不是很有趣?
還好已經(jīng)有人發(fā)了微信,地址:
接下來,我們將 Hub- 集成到我們的項目中。
npm install hubot-weixin --save
運(yùn)行,設(shè)置名稱為bot,別名/,這樣只需要輸入/cal就可以激活機(jī)器人。
binhubot.cmd -n bot -l / -a weixin
當(dāng)然,這樣運(yùn)行命令會出現(xiàn)錯誤。hubot-work的主要機(jī)制是破解網(wǎng)頁版微信協(xié)議。首先用手機(jī)登錄微信賬號,然后模擬網(wǎng)頁版微信登錄,這樣就可以接收微信消息了。
可以設(shè)置如下:
1、先為機(jī)器人注冊一個新的微信公眾號或使用已有的微信公眾號;
2、登錄手機(jī)微信;
3、瀏覽器打開網(wǎng)頁微信:,F(xiàn)12打開控制臺監(jiān)聽請求信息;
4.手機(jī)掃一掃登錄;
5.控制臺要監(jiān)聽很多請求信息;
6、從這些請求信息中找到如下信息,填入.//hubot-/.yaml:
cookie: Uin: Sid: Skey: DeviceID:
現(xiàn)在,再次運(yùn)行命令。如果有錯誤,請按照剛才的步驟檢查參數(shù)設(shè)置是否正確,或者使用其他工具進(jìn)行調(diào)試。
binhubot.cmd -n bot -l / -a weixin
正確啟動后,您可以通過微信給機(jī)器人發(fā)送消息。
下一個
接下來,考慮做一些更有趣的事情。
24小時免費(fèi)咨詢
請輸入您的聯(lián)系電話,座機(jī)請加區(qū)號