Forward LogoForwardMsg

建立 Discord 機器人

建立並連線 Discord 機器人,讓 ForwardMsg 自動完成設定,並選擇它要傳送或讀取訊息的位置。

從 Discord 複製訊息時,您也可以使用自己的帳號。 **您無需邀請機器人加入原伺服器,無需擁有該伺服器,也不需要是管理員。**您的帳號只需能夠存取想要複製訊息的頻道。如果您要使用此方式,請先查看連線 Discord 帳號。

Discord 機器人可以將複製的文字和受支援媒體(例如圖片、影片和檔案)傳送到您的 Discord 伺服器。它也可以轉發來自 Discord 來源的 Discord 嵌入內容。在轉發選項中選擇訊息類型;目的地伺服器的上傳限制仍然適用。如果您想用機器人代替帳號讀取訊息,也可以讓機器人讀取原始訊息。

  • **使用帳號讀取、機器人傳送?**只需將機器人邀請到接收副本的伺服器。
  • **也用機器人讀取?**還要將它邀請到原始伺服器,並授予它要複製頻道的存取權限。

**您無需編寫程式碼,也無需自行代管機器人。**ForwardMsg 會為您執行它。

在 Discord 中建立機器人

  1. 開啟 Discord Developer Portal。
  2. 選擇New Application。
  3. 輸入一個易於識別的名稱,例如 Community Forwarder。
  4. 選擇 Create。
  5. 在應用程式左側選單中開啟 Bot。

Discord 將機器人的設定稱為應用程式。您可以在Bot 頁面管理機器人的名稱、頭像和登入權杖。

複製機器人權杖

機器人權杖相當於機器人的密碼,與您的 Discord 個人帳號權杖不同。

  1. 在Bot 頁面找到 Token。
  2. 選擇Reset Token以產生可複製的權杖。
  3. 完成 Discord 的確認步驟。
  4. 複製權杖並妥善保管。

快速方式:讓 ForwardMsg 設定機器人

您可以跳過下面的手動設定:將權杖貼上到新增 Discord 機器人中,選擇新增,然後完成繼續 → 邀請 → 完成步驟。ForwardMsg 會自動設定機器人支援的意圖和預設伺服器安裝設定。您也可以直接在該對話框中邀請機器人。接下來請按照連線機器人以傳送訊息操作;如果也希望機器人讀取訊息,請按照連線機器人以讀取訊息操作。之後請重新整理 Developer Portal 查看設定。機器人仍需存取接收頻道。

重置或撤銷權杖會斷開舊連線

如果您重置了 ForwardMsg 中已儲存的權杖,舊連線就無法再登入。請使用新權杖再次選擇新增 Discord 機器人。如果舊連線負責讀取訊息,請在來源下選擇新連線;如果它負責傳送副本,請在所有受影響的路由目的地中替換舊機器人。儲存更改並重新啟動受影響的自動化。編輯舊連線的名稱不會更新其權杖。

接下來的兩節介紹在邀請機器人之前,如何自行查看或變更這些設定。

允許機器人讀取訊息文字

Discord 將這些開關稱為意圖。對於 ForwardMsg,請啟用以下兩項意圖。無論機器人只傳送副本、讀取訊息,還是兩者都做,都建議採用此設定。意圖與允許機器人查看或在頻道中發文的權限不同。

  1. 在 Developer Portal 中開啟 Bot。
  2. 找到Privileged Gateway Intents。
  3. 開啟 Server Members Intent 和 Message Content Intent。
  4. 如果 Discord 顯示儲存按鈕,請儲存更改。
意圖功能應如何設定
Message Content Intent允許機器人接收訊息文字和內容。無論機器人讀取訊息、傳送副本還是兩者都做,ForwardMsg 設定都需要開啟。
Server Members Intent允許機器人接收伺服器成員資訊。無論機器人讀取訊息、傳送副本還是兩者都做,ForwardMsg 設定都需要開啟。

選擇所需權限

以下是邀請機器人時請求的預設權限。請在使用邀請連結前設定或檢查這些權限:

  1. 在 Developer Portal 中開啟Installation。
  2. 在Installation Contexts下啟用 Guild Install。Guild 是 Discord 對伺服器的稱呼。
  3. 在Default Install Settings下找到 Guild Install 設定。
  4. 包含 bot 範圍,這樣就可以將機器人新增到伺服器。ForwardMsg 轉發不使用斜線指令,無需設定命令。
  5. 檢查下方權限。ForwardMsg 的標準邀請會請求這一整組權限。
  6. 如果 Portal 要求,請儲存設定。

標準邀請包含的權限

請保留預設選中的權限,讓機器人能夠使用您選擇的轉發功能。部分權限只適用於可選功能;即使您尚未啟用這些功能,也可以保留它們。

權限機器人可以執行的操作
View Channels / View Channel(查看頻道)查看機器人要讀取或發文的頻道。
Send Messages在接收頻道發佈複製的文字。
Read Message History取得較早的訊息,包括作為回覆上下文的訊息。
Attach Files上傳圖片、影片和其他檔案。
Embed Links傳送嵌入卡片和連結預覽。
Manage Messages刪除其他使用者的訊息;此權限屬於標準訊息管理權限組。
Pin Messages啟用相應訊息操作同步時置頂或取消置頂訊息。

可選行為權限

標準邀請中也包含以下權限。只有使用相應功能時才需要:

權限機器人可以執行的操作
Manage Webhooks當啟用 webhook使用原作者名稱和頭像時,建立並管理頻道 Webhook。
Send Messages in Threads向機器人有權存取的討論串傳送副本。
Add Reactions啟用反應同步時新增反應。
Mention Everyone訊息格式中使用 @everyone 和 @here 等提及時傳送提及。
Use External Emojis使用其他伺服器中的自訂表情符號。
Use External Stickers使用其他伺服器中的貼紙。
Send Voice Messages傳送 Discord 語音訊息。
Bypass Slowmode無需等待頻道的慢速模式即可發文。

無需為機器人授予管理員權限。安裝後,請檢查它在伺服器和頻道中的實際權限。Discord 的權限參考介紹了這些控制項。

如果機器人已經在伺服器中,變更 Portal 中的預設設定不會更新它在伺服器中的現有存取權限。在 Discord 中開啟伺服器設定 → 角色,選擇機器人的角色並檢查權限。要檢查某個頻道,請開啟編輯頻道 → 權限,查看機器人的角色或單獨權限項目。即使伺服器角色允許存取,分類和頻道規則仍可能拒絕存取。

將機器人安裝到伺服器

**要傳送副本,請將機器人新增到您希望副本到達的伺服器。**如果由您的帳號讀取原始訊息,機器人無需加入原伺服器。只有當您希望機器人自行讀取這些頻道時,才需要將其新增到原伺服器。

在 ForwardMsg 中選擇新增 Discord 機器人時,使用新增到目的地伺服器開啟邀請連結。如果機器人尚未加入,請選擇接收伺服器;若要設定機器人讀取訊息,則選擇原伺服器。在 Discord 中授權,返回 ForwardMsg 並選擇完成。如果機器人已在正確的伺服器中,無需再次邀請,直接選擇完成即可。

您也可以從 Developer Portal 邀請機器人:

  1. 在 Developer Portal 中開啟Installation。
  2. 在Install Link下選擇 Discord Provided Link。
  3. 複製連結,在已登入 Discord 的瀏覽器中開啟。
  4. 選擇新增到伺服器並選擇目標伺服器。
  5. 選擇授權並完成 Discord 確認。
  6. 確認機器人顯示在該伺服器的成員清單中。

如果您擁有伺服器、是管理員或擁有管理伺服器權限,就可以邀請機器人。否則請讓伺服器管理員代為邀請。如果使用自己的帳號複製訊息,無需在原伺服器擁有此權限。

如果 Portal 版面配置發生變化,請參閱 Discord 的安裝指南查看控制項位置。

連線機器人以讀取訊息

設定位置
開啟自動化 → 自動化設定 → 來源 → Discord 機器人 → 新增 Discord 機器人
  1. 開啟使用 Discord 機器人讀取訊息的自動化,然後在來源下選擇新增 Discord 機器人。
  2. 貼上機器人權杖並選擇新增。
  3. 在 ForwardMsg 中保留或變更名稱,然後選擇繼續。
  4. 如果機器人尚未加入要讀取訊息的伺服器,請使用新增到目的地伺服器邀請它,並在 Discord 中授權。
  5. 返回 ForwardMsg 並選擇完成。
  6. 確認來源下已選中該機器人。
  7. 選擇更新設定。
  8. 選擇啟動並等待狀態變為執行中。
  9. 新增機器人需要讀取的伺服器和頻道。

來源是原始訊息的位置。請只選擇您要監控的頻道。

連線機器人以傳送訊息

設定位置
自動化編輯器 → 點選左側清單中您監控的來源聊天以開啟其設定 → 路由 → 新增目的地 → Discord 機器人

如果機器人已儲存,請直接選擇它並繼續選擇接收頻道,無需再次貼上權杖。

  1. 點選編輯器左側清單中的來源聊天/頻道以開啟其設定。
  2. 開啟路由。
  3. 選擇新增目的地。
  4. 如果機器人尚未儲存,請選擇新增 Discord 機器人。
  5. 貼上權杖並選擇新增。
  6. 在 ForwardMsg 中保留或變更名稱,然後選擇繼續。
  7. 如有需要,使用新增到目的地伺服器邀請機器人加入接收伺服器,並在 Discord 中授權。
  8. 返回 ForwardMsg 並選擇完成。
  9. 選擇該機器人和接收副本的頻道。
  10. 完成目的地對話框。
  11. 選擇儲存更改。

目的地是副本到達的位置。如果機器人有權存取多個頻道,它可以向多個頻道傳送訊息。

**在多條轉發路由中重複使用同一個機器人。**在其他路由目的地或自動化中選擇已儲存的機器人即可;無需為每個聊天或路由建立新機器人。請將其邀請到每個接收伺服器,並授予相關頻道存取權限。

透過自動化傳送新的文字訊息以檢查結果。如果只有一個頻道失敗,請檢查機器人在該頻道中的權限。

檢查 ForwardMsg 的自動設定

使用新增 Discord 機器人儲存權杖後,ForwardMsg 會設定機器人支援的意圖、Guild Install 和預設安裝設定,使其可以讀取並傳送訊息。

  1. 返回 Developer Portal 並重新載入頁面。
  2. 開啟Bot → Privileged Gateway Intents,檢查 Message Content 和 Server Members。
  3. 開啟Installation,檢查 Guild Install 及其預設權限。
  4. 如果尚未邀請機器人,請邀請機器人,然後在 ForwardMsg 中選擇接收頻道。

您可以直接使用此快速方式,無需手動變更 Portal 中的每個欄位。如果某項設定尚未更新,請按上文手動操作。

Portal 預設設定與伺服器存取權限相互獨立

自動設定會準備機器人的應用程式設定,但不會邀請機器人加入伺服器、分配驗證角色或覆蓋頻道限制。機器人仍須在實際讀取或傳送訊息的伺服器中獲得存取權限。

機器人已連線但無法傳送訊息

已連線表示 ForwardMsg 可以使用機器人登入,並不表示每個接收頻道都允許它發文。

  • 檢查伺服器和頻道。機器人必須加入接收伺服器,並在對應頻道擁有查看頻道和傳送訊息權限。討論串還需要在討論串中傳送訊息權限。
  • **檢查驗證或門禁機器人。**某些伺服器會在成員獲得 Verified 或 Member 等角色之前隱藏頻道。新邀請的機器人可能不會自動獲得該角色。請管理員為機器人分配合適角色,或在接收頻道中明確授權。例如,如果只有 Verified 成員才能在 #news 中發文,機器人也需要獲得相應存取權限。
  • 檢查內容類型。上傳檔案需要附加檔案權限,傳送嵌入內容需要嵌入連結權限。啟用啟用 webhook後,還需要管理 Webhook權限。
  • **檢查權杖。**如果權杖已重置或撤銷,請使用新權杖重新新增機器人,並在使用舊連線的地方替換它。

修復存取權限後,請在路由中選擇儲存更改,如有需要則重新啟動自動化,並從來源聊天傳送新訊息以確認其到達目的地。您可以使用私人測試聊天。

其他檢查項請參閱訊息送達與權限 → Discord 機器人。

作者名稱、回覆和置頂

一般機器人訊息使用機器人自己的名稱和頭像。例如,Maya 的副本會顯示為由您的機器人 Community Forwarder 發佈。訊息格式仍可在文字中包含 Maya 的名稱。

如果您希望 Discord 貼文本身顯示 Maya 的名稱和頭像,請使用 Webhook 傳送。每條複製訊息都可以使用其原作者身分,而不是所有貼文都使用同一個機器人頭像。

您可以讓已連線的機器人自動處理此操作:

  1. 為機器人在接收頻道授予管理 Webhook權限。
  2. 在 ForwardMsg 中點選左側清單中的來源聊天以開啟其設定;也可以點選全域性設定,將此選項套用到所有繼承它的聊天。
  3. 開啟進階 → 使用作者名稱和頭像照片傳送。
  4. 開啟啟用 webhook。
  5. 選擇儲存更改,然後透過自動化傳送新訊息,檢查它在 Discord 中顯示的名稱和頭像。

機器人現在會建立/管理用於傳送訊息的 Webhook。使用此選項時,無需為每個接收頻道手動建立 Webhook。

傳送方式Discord 貼文上的名稱和頭像原生回覆和同步置頂/取消置頂
Discord 機器人,關閉「啟用 webhook」機器人自己的資料具備相應權限並啟用同步選項後可用。
Webhook,開啟「啟用 webhook」原作者的名稱和頭像不可用:Discord Webhook 無法建立原生回覆或置頂/取消置頂訊息。

需要回覆或置頂操作時,請關閉啟用 webhook。請參閱訊息操作同步和進階設定。

妥善保管權杖

請像密碼一樣保護機器人權杖

切勿透過聊天、郵件、工單、螢幕擷取畫面或共用程式碼傳送機器人權杖。如果權杖洩露,請在 Discord 中重置,並在 ForwardMsg 中使用新權杖重新新增機器人。在所有使用舊連線的地方替換連線、儲存設定,並重新啟動受影響的自動化。