IFTTT 是 If This Then That 的縮寫,功能也如同字面意思,如果(If)發生了什麼,就(Then)去執行設定好的動作,能簡易的將各式各樣的服務串聯在一起,創造出屬於自己的獨特應用。

使用者可以建立一個 Applet,並設定當我在某個網站 A(Channel A) 執行了某項操作,然後觸發(trigger)另一個服務 B(Channel B) 執行某個反應動作(Action),整個流稱稱為自動化服務(Recipes)。

這個服務在 2011 年就上線了,之前是看見 DIYgod 用過才知道這個服務,他用 IFTTT 串聯 Twitter 和 Telegram。每當他發了推文,就會自動同步推文到他的個人頻道。我也有類似的需求,我平常逛 Twitter 有個習慣,如果看見好看的動漫插畫就會按下喜歡,另存圖片,並將 Twitter 網址發到我的個人頻道做備份,但每次複製網址貼到 Telegram 上顯得有些麻煩,如果是在手機上操作還得頻繁切換不同的 APP,為了解決這個問題才下定決心配一個 IFTTT 應用。

建立應用

首先開啟 IFTTT 官網註冊一個帳號,登入後點擊右上角的 Create,免費帳號可以新建 3 個 Applets。

Add 後搜尋並選擇 Twitter。

觸發動作選 New liked tweet by you。

接著選擇觸發執行的動作。

綁定 Telegram

搜尋 Telegram 並選擇 Send message。

這時需要綁定 IFTTT 的 Telegram 機器人,點擊 @IFTTT 連結加入 Telegram 機器人。

第一次使用的話會要你授權,點一下按鈕就可以了。

如果你要綁定群組的話就發送 /connect_group,頻道則發送 /connect_channel。這裡示範頻道綁定方法,頻道 Subscriber 加入 IFTTT 機器人,記得給予管理員權限讓它可以發訊息。然後再發送頻道的 ID 給機器人就綁定成功了。

修改推送內文產生預覽圖片

Target chat 記得選擇剛才綁定的群組/頻道。Message text 的地方要注意,{{TweetEmbedCode}} 的包含「內文+連結—用戶名+日期」,Telegram 會將連結後接的 視為連結的一部分,導致網址無法導向正確的推文而無法產生預覽。

建議改成以下形式。

1
2
3
{{Text}}
{{CreatedAt}}<br>
via Twitter https://twitter.com/{{UserName}}

{{Text}} 是推文的內文,{{CreatedAt}} 是發推日期,{{UserName}} 是推文的帳號 ID。

接著就可以測試在推文點喜歡會不會發訊息到頻道裡,經過測試,IFTTT 延遲蠻高的,需要等一陣子才能看見發來的訊息。左邊是我之前手動複製的效果,右邊是 IFTTT 傳的效果。

IFTTT 還有很多玩法,通過 RSS 可以創造更多可玩性,比如當部落格發佈新文章時同時發佈到社交媒體、當對 Instagram 圖片點喜歡時,自動轉存到 Dropbox 等。

References