chatops之落入俗套的“你好,世界”

之前兩個小文兒跟大家探討了what -- chatops是怎樣一回子事和why -- chatops所帶來的一系列益處,接下來我們就說說how -- 如何從零開始搭建一個chatops機器人。

top 3 open source chatbot framework

上圖是top3的三個opensource的chatbot framework,其中HU-BOT是GitHub最早開源的一個chatbot project,基于coffee script+nodejs編寫。LITA借鑒了hubot的大部分功能并有一些創新,基于Ruby編寫。Err是基于python編寫的。

下面我們就開始做一個簡單的chatops實踐,首先要選擇一個團隊的IM工具,這里我們選擇用slack. 其次選一個chatbot framework, 由于我個人對ruby的偏愛,所以我們選擇LITA.

因為我一般選擇在我自己的mac上編碼,所以我選擇手工安裝,mac一般都自帶的ruby 2.0,所以只需安裝redis(LITA通過redis做持久化)和LITA就可以了。

1.開發環境搭建

a. 安裝LITA, 文檔在這里https://docs.lita.io/getting-started/installation/

b. 安裝redis看這里 https://redis.io/download

手動安裝LITA鍵入sudo gem install lita,然后用lita help來驗證是否安裝成功,如果得到如下結果就說明成功了。

install lita

2. 創建每一個Lita實例

lita new helloword?創建最一個lita實例

first instance

3. 第一個handler

進到helloworld那個目錄下,創建一個文件,這個例子中我們把他命名成hello.rb, 如下

hello.rb

解釋一下這個handler, “route(/^sayhi/, :hello)”是lita的一條路由,可以理解成lita的監聽規則,lita會用"^sayhi"這個正擇表達式去匹配address給lita的消息,一經匹配成功lita就會跑對應的方法hello。"response"可以把他理解成chat的上下文切入工具,可以通過response回復一些信息。

4.然后在lita_config.rb中引入hello.rb

在lita_config.rb中加入一行,require './hello'

lita_config.rb?

接下來就在shell環境下小試一下牛刀,打開lita_config.rb配置lita的adapter為shell(默認)

shell adapter

在終端到helloworld目錄下鍵入lita start來啟動lita,之后鍵入Lita sayhi來驗證我們添加的第一個功能sayhi. 你可以看到我們給lita一個sayhi指令,然后lita給我們回復了“hi, this is our first chatbot, welcome here!”,如果你也得到如下結果的話,那么恭喜你有了一個好的開始!

驗收第一個功能?

slack做為adapter

首先要在團隊的slack中申請一個lita的token -- 到https://your_team.slack.com/apps申請lita應用,如果你所在的組織沒有審計slack app使用的話,會很順利的申請到一個lita。打開剛剛申請 的lita應用,可以看到如下圖所示的api toke

api token

然后回支終端,到之前創建的helloworld目錄下,打開lita_config.rb,將adapter設置為slack并添加token,如下圖所示(請用自己的token來替換下圖的"xxx...")

slack configuration

添加gem"lita-slack"到Gemfile中,通過bundle install命令安裝相關包之后就是見證奇跡的時刻了

lita start

start lita

確認啟動之后,到slack的channel中將剛才我們啟動的lita添加到channel中,接下來就可以和他對話了

first lita

到此我們已經創建了第一個chatbot, 很簡單,對嗎?雖然只提供了一個簡單的功能,但是可以無限擴展的,這篇小文的目的是給大家一個簡單的指引,從而可以快速的搭起一個bot, 至于bot的功能,我認為只要你敢想敢做,是沒有什么不可能的(也來一碗雞湯,不過這是事實:))。

其實chatbot是一個很了不起的的集成工具,要以將任意系統集成到bot中,這樣就可以實現多個系統的自由,快速的協作從而提高工作效率。

結合之前兩篇文章,針對chatops已經討論了what, why and how, 希望大家有興趣的話可以發散自己的思維,把chatops應用到工作和生活中。由于最近比較忙,所以這次更新的比較慢,不過答應大家的事情搞完了,松了口氣!之后會看情況不定期討論一些security或應用場景相關的實踐,大家也可以加我wechat交流。

最后,chatops的世界很多彩絢麗,相信如果你愿意付出時間,一定可以做出一個像jarvis一樣的機器人來幫你完成大部分的事情。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內容