既然之前已寫了三篇關於matrix.org聊天通訊的介紹(分別是對於其分散式聊天系統標準的應用原理瀏覧器介面的riot.im應用以及自行安裝synapse,用來跑matrixs聊天伺服架設的操作實驗)

這幾天把之前早安裝好的weechat作好連線IRC使用設定,也順利讓它裝好matrix.lua外掛成功連上matrix.org聊天伺服器。故在此寫一下過程的流水帳介紹。

1)installation

我的作業系統環境是ubuntu 14.04 64位元,其它作業環境者,或可直接從weechat下載安裝檔。

方法一:unbuntu software center直接安裝

這個方法雖然最簡單,但software center並未更新weechat資源庫,故其版本非常老舊(0.4.5),若硬安裝上要連線上matrix.org 的外掛協議,軟體會崩潰當機,故不建議用此方法。除了使用者只想拿來作為irc本地端的工具軟體。

方法二:apt-get install

參考本篇作法,在終端機文字界面環境下利用apt-get指令先更新weechat資源庫,再進行安裝。 此方法雖然簡單省事,但其資源庫所提供的「穩定版」卻是一年多前的1.2版,但已堪用來作為matrix.org 的連線工具。

方法三:從官網下載最新版deb檔,再透過software center安裝

這個方法能確保安裝weechat 的最新穩定版(1.6)。不過要提醍,如果之前電腦上已裝過其它版本的weechat,得先進行移除,以免因版本衝突而無法安裝。

$sudo apt-get remove weechat
$sudo apt-get remove weechat-core
$sudo apt-get remove weechat-plugins

官網上的debian/ ubuntu repositories一個版本中有7個檔案,主要是安裝: weechat-core_1.6-1_amd64.deb weechat-curses_1.6-1_amd64.deb weechat-plugins_1.6-1_amd64.deb 這三個檔案即可。

安裝完畢後,在終端機打入$weechat, 應該就會跑出其執行畫面了。

2)IRC configuration

因為weechat 一開始的設計開發目的,就是提供一個純文字指令環境下執行的irc聊天應用工具,所以先來看看其如何設定連上irc服務器。

在weechat的原廠預設中,已經加入了freenode這個目前人數用戶最多的irc 伺服。一兩個月前,我有寫過重溫這個老牌網路聊天室的應用程式介紹以及如何申請自己個人愛用的帳號並利用密碼綁定讓別人無法再重覆使用同一個ID。如果已有一組freenode帳密,可以在下二行指令中輸入自己的帳密,以方便利用sasl登入。

/set irc.server.freenode.sasl_username "mynick" #下mynick改成自己的ID
/set irc.server.freenode.sasl_password "xxxxxxx" #xxxxx改成自己的登入密碼。

然後輸入 /connect freenode 就可以順利連上IRC囉

其它的指令,就如同我之前在使用IRC Client軟體的轉貼常用的指令: ```/join #channelname ##加入某聊天室 /msg ##傳私人訊息給某人,聊天室其它人不會看到 /list ##列出伺服器上的所有聊天室頻道清單 /me ##向其它顯示自己的狀態 /part 離開聊天室 /partall 離開所有聊天室 /ignore ##忽視某人的訊息,尤其是來亂的傢伙 /chat ##據說也是傳私人訊息功能 /bye ##關閉weechat

至於在weechat 環境底下的某些參數或環境設定指令,可以參考這篇[中文的介紹](https://blog.fykuan.tw/2014/12/23/%E5%A5%BD%E7%94%A8%E7%9A%84-irc-client-weechat/)

### 3)matrix lua plugin
上面寫了那麼多weechat從安裝到IRC連線設定,但那些沒什麼新意,重點是接下來透過延伸外掛lua的安裝,讓它可以發揮連線上matrix.org聊天室伺服器的強大功能,我的作法是參考這篇:[A WeeChat script in Lua that implements the matrix.org chat protocol](https://github.com/torhve/weechat-matrix-protocol-script),先安裝好WeeChat & Lua deps(on Debian/Ubuntu)
`sudo apt-get install weechat lua-cjson`
然後

$git clone https://github.com/torhve/weechat-matrix-protocol-script.git # $Copy the script into WeeChat’s Lua dir $cp weechat-matrix-protocol-script/matrix.lua ~/.weechat/lua

$ln -s ~/.weechat/lua/matrix.lua ~/.weechat/lua/autoload ## Make a symlink into the autoload dir to load script automatically when WeeChat starts $weechat ``` 啟動weechat後,就會看到它自動連上 matrix.org 要補充說明的是,目前marix.org只能提供網頁介面的帳號申請,但先得在matrix.org(其實也就是網頁版的riot.im申請帳密,才能在weechat上順利登入matrix.org的IRC主機) 例如在下圖中所看到上面藍底白字的那一行,就是目前所在的聊天室的名稱,而在weechat的純文字環境介面下,則是透過「alt + ->」「alt +<-」(alt+左右鍵)方式來切換聊天室頻道或不同的IRC主機。當然也因為是純文字的關係,無法看到圖片或多媒體類型的檔案,也無法進行VIOP或視訊。 至於利用weechat在 matrix.org 進行端對端之間的加密聊天(encryption),開發者承諾未來會加入這項功能。雖然在這篇A WeeChat script in Lua that implements the matrix.org chat protocol最後有提到其它開發者有提供一些試驗方式,不過我完全看不懂這裏的安裝方法,所以暫時就算了。