如果你經常在wordpress寫blog,可能每次寫完發佈後,也會把發佈的blog鏈接往telegram的某個群聊也發一遍。方便做一些推廣。
那麼這個動作有沒有辦法自動化呢?
blog發佈後,就自動推送到我的telegram羣聊裏了,不需要在手動複製黏貼找羣發送。
今天我們就用n8n來完成這個自動化配置,只需兩個節點。

一、Wordpress webhook
1、n8n webhook節點
第一個節點我們添加一個 Webhook 節點。這個節點的主要作用是,用來監聽 WordPress 裏的變化的,一旦有相關變化,就會自動觸發工作流。
我們希望當在 WordPress 發佈新的文章後,就可以自動觸發這個流程。

在 webhook 配置頁面中,有幾個字段需要配置一下。

(1)Authentication
Authentication 是用於控制外部系統如何訪問 n8n 的 Webhook 的身份驗證方式。我們一般不需要額外的身份驗證,所以對於大多數場景,我們選擇None就可以
(2)HTTP Method
WordPress 插件發送 Webhook 通常使用 POST 方法,所以在這裏我們選擇“post”。
(3)path
- Path 是 Webhook URL 的一部分,用來標識這個特定 Webhook 的地址。當你設置 Webhook 時,n8n 會爲每個 Webhook 分配一個唯一的路徑。
- 比如我們設置 Path 爲 wordpress-publish-post,那麼完整的 Webhook URL 就是:https://your-n8n-instance/webhook/wordpress-publish-post。your-n8n-instance就是你自己的wordpress域名。
- 你可以自定義這個路徑,可以是任何你想要的字符串,只要確保它是唯一且描述性強的。
(4)response和response code
保留默認即可。
然後我們在配置界面上方,看到生成了兩個URL,一個是test的 ,一個是production的。

Test URL ,是在開發和測試階段用來手動觸發 Webhook 的一個鏈接,這個鏈接可以模擬一個請求,驗證你的 Webhook 配置是否正確。
怎樣來驗證?
我們可以用postman這個工具

方法選擇post,鏈接黏貼你的test url:https://n8n-jz-yuan.zeabur.app/webhook-test/wordpress-publish-post
然後在body,我們可以簡單用json定義一下這個文章的title、link、和content
接着,我們在n8n的webhook節點,點擊listen for test event,開始監聽

然後在postman,點擊send按鈕,即使用 POST 方法,發送請求到這個 URL,模擬 WordPress 發佈文章時觸發的請求
然後會看到postman的返回值,是正常的,也就是測試通過了。

回到webhook節點,看output值,也是正常的獲取到我們在postman定義的body值了。

所以測試地址是OK的,那麼正式環境還需要配置什麼嗎?
除了在n8n的webhook節點做以上配置,我們還需要在wordpress後臺配置一個WP webhook的插件,這個插件的作用簡單來說就是要和n8n的webhook節點建立上連接。
接下來我們講講如何安裝和使用這個插件
2、WP webhook插件
我們在wordpress後臺的插件裏,安裝WP webhooks這個新插件

安裝好之後,在設置裏,有一個WP webhooks的設置項

點擊進入,下圖就是它的配置頁面。
我們進入send data菜單,選擇post created,然後在右側點擊“Add webhook url”

然後在彈框中,起一個名字,然後在url裏,把n8n webhook節點裏的生產鏈接黏貼進去就可以了


這樣就新建成功了
另外,記得在action裏點擊setting,還有一點配置需要設置一下


如下,主要是前兩個。
- 一個是你希望什麼類型的帖子觸發,如果你只希望發佈文章的時候觸發,就選擇文章。
- 另一個是希望帖子在什麼狀態下觸發,如果只是已發佈的時候觸發,我們就選擇已發佈。
然後保存即可。

到這裏,我們的webhook就完全配置完成了。
我們可以去自己的wordpress發佈一篇測試文章試試。

發佈之後,在n8n的webhook節點裏的output,看到是已經成功的監聽到了帖子的發佈

二、telegram發送
我們在wordpress發佈文章後,想自動推送到我的telegram羣聊中,該怎麼辦?
接下來我們講講
1、在telegram創建機器人賬號
首先我們要有一個机器人賬號,通過這個賬號來發消息
如何創建?
①在Telegram中搜索“BotFather”這個賬號
②在BotFather輸入 /newbot的指令,即新建一個bot
③輸入機器人的名稱(自己命名,以後可以更改)
④獲得了bot的token,這個token保留好

到此機器人就創建好了。然後我們把機器人賬號拉到羣聊裏。
2、在n8n裏添加telegram節點


①Credential to connect with:這裏創建一個鏈接,然後輸入我們上一步獲取的bot的token,連接即可。

②Resource和Operation:Resource選擇message,Operation選擇send message
③chatid
如何獲取chatid,需要重點說明一下
首先,我們需要在有機器人賬號的羣聊裏,發送一條消息,隨便什麼都行,比如test。 目的就是爲了讓機器人賬號有接收到這個消息的記錄
然後,我們在瀏覽器打開接口地址,鏈接如下:https://api.telegram.org/bottoken/getUpdates,注意token這裏要換成你機器人的實際token
打開鏈接之後,紅框裏的id ,就是chat id了。 注意,羣聊的chatid,前面一般都是帶着“-”號的。

然後我們把chatid複製到n8n telegram節點裏的chatid輸入框中即可。
④text:就是消息內容的配置,你希望bot發出去的消息展示什麼內容,比如我只需要標題和鏈接
那我就輸入:
{{ $json.body.post.post_title}}
{{ $json.body.post.permalink}}
這樣就配置好了。最後記得保存和開啓這個流程。
到此,這兩個節點配置完,我們所有的配置就結束了,現在就可以實現在wordpress發佈文章,自動推送到telegram羣聊了。
再發布一篇測試文章試試

發佈後,telegram羣聊裏,也會收到推送的文章了。
