如何在 Discord 依行事曆排程訊息(每週、每月、Cron)

行事曆排程會在行事曆上指定的日子傳送訊息,例如每週一 9:00、每月 1 日和 15 日,或每月最後一天。以固定間隔傳送(例如每隔 N 小時)的是另一種排程類型,稱為重複排程。Discord 本身無法做到這一點。在 MsgPlanner 裡,行事曆排程在儀表板上用點選的方式設定。如果你不想自己設計重複規則,可以使用設定精靈:回答兩個問題後,設定精靈會提出對應的設定。

行事曆排程要在網頁儀表板上建立。Discord 裡的 /排程訊息 只支援單次和重複排程。行事曆排程建立之後,也可以在 Discord 暫停或刪除。

行事曆排程和重複排程的差別

要定期發送重複訊息,MsgPlanner 有兩種排程類型,選對類型可以省下不少麻煩:

  • 重複排程以固定間隔傳送,例如每 45 分鐘、每 6 小時或每 3 天。經過幾個月或遇到日光節約時間調整後,每次傳送的時刻可能會跟著偏移。這種類型適合「每隔 N」的需求。
  • 行事曆排程在你指定的當地時刻傳送,例如「每週一和週四 18:30」或「每月 1 日 9:00」。如果你描述計畫時用的是星期幾、幾號和幾點,就應該選這種類型。

判斷方式是看計畫的描述:出現星期幾、日期或具體時間時,用行事曆排程;只提到間隔時,用重複排程。

行事曆排程可以設定的規則

以下每一種規則,都只需要一則行事曆排程:

  • 每週固定的星期:每週一、三、五的 9:00。
  • 一天多個時間:每天 9:00、13:00 和 18:30,也可以只在選定的星期傳送。
  • 每月指定日期:每月 1 日和 15 日的 10:00,或每月 27 日的發薪日提醒。
  • 每月最後一天:有專屬的「最後一天」選項,那個月的最後一天是 28、30 或 31 日都會自動對應,不需要自己寫 cron 規則。
  • 時段加間隔:17:00 到 20:00 每小時一次,或在特定小時的第 10 到第 20 分鐘之間每 5 分鐘一次。
  • CRON 運算式:每則行事曆排程在系統中都以標準的 CRON 運算式儲存,「預定傳送」面板會列出接下來的傳送時間。編輯排程時,進階的運算式(例如來自手動修改過的匯出檔)會原樣保留。你不需要自己撰寫 cron。

使用設定精靈

儀表板內建一個重複規則設定精靈。你選擇最接近需求的描述,例如「某幾天的幾個固定時間」或「某個時段內每 N 分鐘一次」,設定精靈就會提出完整的設定。如果你的計畫需要兩則排程才能完成,設定精靈也會說明。設定精靈產生的設定可以在表單中繼續修改。

實際設定範例

每週五 18:00 的活動公告,要寫出下一場的時間 在行事曆排程中,星期選週五,時間設為 18:00,再選擇你的時區。訊息內容可以寫成 遊戲之夜開始囉!{{visibleIfNext}} 下一場:{{nextRun:R}},這兩個標籤可以從編輯器插入。傳送時,{{nextRun}} 會換成下一次的傳送時間,Discord 會依照每位讀者自己的時區顯示為倒數,例如「6 天後」。最後一次傳送時,{{visibleIfNext}} 會刪除它後面的所有內容,所以最後一則公告不會出現不存在的下一場。

每月最後一天 9:00 的發薪日公告 在行事曆排程中選擇每月指定日期,勾選每月最後一天,時間設為 9:00。2 月 28 日、4 月 30 日和 7 月 31 日都由這個選項處理。用 cron 手寫這條規則時,需要另外處理每個月天數不同的問題;在 MsgPlanner 裡只要勾選這個選項。

只在週末發的大廳公告,時間是 9:00、13:00 和 18:30 這只需要一則行事曆排程:星期選週六和週日,在時間清單中加入這三個時間。時間和星期可以組合,所以不需要建立三則排程。

17:00 到 20:00 之間每小時一則訊息,維持頻道的活躍度 在行事曆排程中把時間設定切換成指定間隔模式,設定從 17:00 到 20:00、每 1 小時一次。儲存之前,摘要會列出這個設定產生的所有傳送時間。

每 6 小時一次,不管當時是幾點 這種情況請使用重複排程(每隔 N),不需要行事曆排程。依照本文開頭的判斷方式,以間隔描述的計畫用重複排程,以星期和時間描述的計畫用行事曆排程。

時區與日光節約時間

每則行事曆排程都依照你選擇的 IANA 時區執行,例如 Asia/Taipei 或 America/New_York。「18:30」指的是該時區的 18:30,全年都相同。日光節約時間會自動處理,時鐘調整後,訊息仍在相同的當地時間傳送。開始日期和結束日期決定行事曆排程的有效期間。

建立行事曆排程的步驟

  1. 打開儀表板,建立排程並選擇行事曆。
  2. 選擇傳送目標,可以是文字頻道、公告頻道、討論串或論壇貼文。
  3. 撰寫訊息。你可以使用完整的格式、嵌入內容、圖片、提及,以及會依每位讀者的當地時間顯示下一次傳送的動態時間戳記。
  4. 在「傳送時間」面板選擇日子(星期幾或每月日期)和時間。如果要設定時段,請切換到指定間隔模式。
  5. 設定開始日期、結束日期和時區,檢查接下來 5 次傳送的預覽,然後儲存。預覽列出的時間就是實際傳送的時間。

常見錯誤和解決方法

  • 時區設錯:「18:30」是排程時區的 18:30,與你電腦的時區無關。如果訊息的傳送時間差了一小時,請先檢查排程的時區,再修改時間。
  • 沒有設定結束日期:行事曆排程和重複排程都必須設定結束日期,機器人會在這一天停止傳送。如果要長期執行,可以把結束日期設得遠一點,之後也能隨時延長。
  • 用重複排程處理固定時間的計畫:「每 24 小時」的排程在日光節約時間調整後會偏移一小時,用行事曆排程設定的「每天 9:00」則不會。如果固定的時刻很重要,請使用行事曆排程。重複排程另有「跟隨日光節約時間」選項,適合介於兩者之間的情況。
  • 選單中找不到論壇貼文:這則貼文已經封存,而 Discord 只會列出活躍的貼文。打開這則貼文一次後再重試。詳細說明請參考論壇與討論串傳送指南。
  • 提醒頻道累積了大量相同的訊息:每週提醒不需要在頻道裡留下四十則相同的訊息。開啟自動清理 → 只保留最新一則之後,每次傳送都會取代上一則,頻道裡只會留下最新的一則。另外還有「一段時間後刪除」,可以設定 1 分鐘到 30 天,適合有時效的通知。

FAQ

Discord 可以定時發送訊息嗎?

不行。Discord 沒有內建的訊息排程(schedule message)功能,需要使用機器人。MsgPlanner 是一個定時提醒機器人,提供單次、重複和行事曆排程,並附有視覺化編輯器。

Discord 要怎麼每週一自動發訊息?

建立一則行事曆排程,星期選週一,設定時間和時區後儲存。在結束日期之前,訊息會在每週一傳送。

可以把訊息排程在每月最後一天嗎?

可以。行事曆排程有專屬的「每月最後一天」選項,適用於 28 天、30 天和 31 天的月份。

一則排程可以一天傳送好幾次嗎?

可以。在同一則行事曆排程裡加入多個時間(例如 9:00、13:00、18:30),或使用指定間隔模式,例如「17:00 到 20:00 每小時一次」。

排程訊息用的是哪個時區?

每則排程使用你為它選擇的時區,例如 Asia/Taipei 這類 IANA 時區。日光節約時間會自動處理,訊息全年都在相同的當地時間傳送。

需要懂 cron 嗎?

不需要。星期和時間都用點選的方式設定,設定精靈也可以建立重複規則。每則排程在系統中都是標準的 CRON 運算式,但你不需要自己撰寫。

可以在 Discord 應用程式裡建立行事曆排程嗎?

不行。行事曆排程要在網頁儀表板上建立和編輯,應用程式裡的 /排程訊息 支援單次和重複排程。行事曆排程建立之後,可以在應用程式中暫停、繼續或刪除。

中文 (台灣)
English日本語FrançaisDeutschEspañolItaliano한국어