十一月 17, 2018 | 伺服器和Devops
【Mattermos 教學】建立免費RSS訂閱Webhook,訊息數量無上限
前言
由於近期在針對公司內部的聊天軟體Mattermost來進行一些好用的RSS訂閱。像是每日新聞、最新科技、最新技術之類的文章都可以通過RSS的訂閱,當有新文章出來的時候,都可以直接送到Mattermost的特定Channel裡面,節省了本來還要開RSS訂閱軟體的時間。
而要達到上述的需求,其實有一個很好的軟體,就是Zapier,提供了各式各樣的整合,但由於免費服務一個月只有提供100則訊息,而基本的付費服務,對於我們小公司來說又覺得算是額外的開銷。所以,這篇文章將會介紹如何建立一個免費且訊息無上限的WEB APP。
閱讀對象
由於相較起Zapier的漂亮UI,這篇文章所分享的相對來說需要不少伺服器相關的技術。以下為基本所需要具備的知識。
- 對於Mattermost熟悉
- 對於Docker熟悉
若上述的兩個部分並非你所熟悉,可以參考這篇文章團隊內的聊天工具,不可不知Mattermost與這篇文章教你一次學會安裝 Docker 開始玩轉 Container 容器世界
訂閱範例
這篇文章將以【INSIDE-社群媒體、行動網路、行銷、技術、創業】當作範例
- INSIDE的RSS網址:http://feeds.feedburner.com/inside-blog-taiwan
建立一個內部Webhook
進入Mattermost的後台【整合】的地方。 可以看到下圖,點擊【內送Webhook】。
以下步驟請參考
新增內送 Webhook
建立並且取得Token網址
使用Docker的服務,來建立一個RSS Feed APP
由於有了內送的Webhook之後,再來就是需要訂閱特定RSS的APP,並且能夠在接收到新的文章後,就將文章自動推送到特定的Channel。
這裡使用的是 RSS- and Atom-Feed Integration Service for Mattermost,其提供了很好的Docker-compose的版本,讓我們更好安裝。
這裡只需要在任何一個有Docker的服務伺服器上面,按照以下的步驟進行操作,即可以安裝成功。
建立APP步驟
下載程式
$ git clone https://github.com/bitbackofen/Rss-Atom-Feed-Integration-for-Mattermost.git
建立docker-compose.yml檔案與feeds.env檔案 在這個repo當中,已經有提供了對應的設定檔案範本,可以直接複製範本,即可開始操作。
- 建立 docker-compose.yml 這個檔案主要是用來建立容器,而通過這個設定檔案可以讓我們輕鬆建立對應的APP
# 進入資料夾 $ cd Rss-Atom-Feed-Integration-for-Mattermost # 建立docker-compose.yml $ cp docker-compose.yml.sample docker-compose.yml
- 建立 feeds.env 這個檔案主要是告訴APP,要去哪一個地方下載對應的RSS,並且要將訂閱的文章送到哪一個Channel。
#建立feeds.env $ cp feeds.env.sample feeds.env
編輯docker-compose.yml 通過以下的yaml內容,即可以建立一個自動擷取RSS的APP,可以依照註解,更改你想要的模式
version: '2' services: mattermost-rss: build: . environment: MATTERMOST_HOOK_URL: 'https://填寫剛剛建立的webhook-url' MATTERMOST_CMD_TOKEN: '' RSS_SILENT_MODE: 'True' # 靜音模式 RSS_SHOW_NAME: 'True' # 顯示名稱 RSS_SHOW_TITLE: 'True' # 顯示RSS標題 RSS_SHOW_DESCR: 'True' # 顯示RSS的描述 RSS_SHOW_URL: 'False' # 不顯示RSS連結 RSS_VERIFY_SSL_CERT: 'False' RSS_SKIP_INIT_ARTICLE: 'False' INTEGRATION_BOT_NAME: 'RSS-Bot' INTEGRATION_BOT_IMG: '' INTEGRATION_LISTENING_ADDR: '' INTEGRATION_LISTENING_PORT: '8080' MATTERMOST_CHANNEL: 'rss-businessweek' # 發佈到 RSS商業頻道 PYTHONUNBUFFERED: 1 env_file: - feeds.env volumes: - ./feeds.env:/code/feeds.env:rw
編輯feeds.env 按照下面的版本即可以告訴APP要去哪一個地方訂閱RSS,並且可以決定在某個頻道發文的時候,其顯示的名稱與大頭照。
# 範本 # RSS_FEED_你想要的顯示名字=訂閱的RSS網址;顯示大頭照的網址 RSS_FEED_INSIDE=http://feeds.feedburner.com/inside-blog-taiwan;https://ibw.bwnet.com.tw/image/blog/bw/1aa6358ac38d8044a22e606a9e42244e.png
啟動APP
$ docker-compose up -d
建立完畢對應的WebAPP,可以一直訂閱新文章囉
小結論
通過了上述這些好用的方法,就可以一直訂閱各式各樣的RSS囉,而且還可以送到自己想要的頻道,真的是超級方便囉,給有興趣的大家參考,一同來使用吧:)