Automatyzacja · poradnik

Jak ustawić przypomnienia cron na Discordzie (codziennie o 9:00)

Wyrażenia cron, harmonogram tygodniowy, dzienne raporty z bazy danych, przypomnienia o eventach. Wszystko z bloczka „Harmonogram”, zero VPS-u.

Czas zbudowania: ~5 minut · poziom: początkujący · ostatnia aktualizacja: 2026-05-18

Co potrafi trigger „Harmonogram”

Trigger Harmonogram w FlowCord obsługuje pełne wyrażenia cron (5 pól: minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia), plus prosty kreator graficzny dla typowych wzorców (codziennie, co tydzień, w wybrane dni). Strefę czasową ustawiasz raz, dla całego bota.

Zastosowania, które zobaczysz tutaj: codzienny raport, cotygodniowe przypomnienie o evencie, dynamiczne /reminder (przypomnij za X minut), automatyczny reset liczników o północy.

1

Cron 1 — codzienny raport o 9:00

Nowy workflow → trigger Harmonogram:

  • Tryb: Cron expression
  • Wartość: 0 9 * * * (co dzień, 9:00, w strefie bota)

Akcje po triggerze:

  • Pobierz zmienną: guild.message_count_today
  • Pobierz zmienną: guild.joined_today
  • Wyślij embed na #ogłoszenia:
    tytuł „🌅 Raport poranny”, opis „Wczoraj: {message_count_today} wiadomości, {joined_today} nowych członków”
  • Ustaw zmienną: zerowanie obu liczników

Reset jest częścią workflow

Bez resetu liczników na końcu, raport wczoraj rośnie do raportu wszech czasów. Reset robisz tym samym workflowem co wysyłka — masz atomowość: jeśli wysyłka padnie, reset też się nie wykona.
2

Cron 2 — cotygodniowy event w piątek 18:00

Drugi workflow z triggerem Harmonogram:

  • 0 18 * * 5 — co piątek o 18:00

Akcja Wyślij embed z@everyone-mentionem (jeśli uprawnienia pozwalają), opis: „Dziś o 20:00 spotykamy się na voice-chacie #wieczór-piątkowy. Do zobaczenia!”.

Dorzucisz przycisk „Dodaj do kalendarza” linkujący do https://calendar.google.com/... z preset eventem.

3

Cron 3 — dynamiczne przypomnienia /reminder

To bardziej rozbudowany flow. Składa się z dwóch workflowów:

Workflow A — przyjmowanie /reminder:

  • Trigger: Komenda slash /reminder czas:string treść:string
  • Bloczek Parsuj czas (np. „30m”, „2h”, „jutro 9:00”) → unix timestamp
  • Ustaw zmienną: lista pending_reminders (per-guild) ← dorzuć obiekt { userId, channelId, due, text }
  • Odpowiedz: „Przypomnę Ci {due_human}

Workflow B — sprawdzanie co minutę:

  • Trigger: Harmonogram * * * * * (co minutę)
  • Pobierz pending_reminders
  • Pętla For each po elementach
  • Bloczek Jeśli: {item.due} ≤ teraz
  • Ścieżka true: wyślij DM do {item.userId} z treścią, usuń element z listy

Architektura jak prawdziwy job runner

Dwa workflowy + jedna lista zmiennych = prosty job scheduler. Nie trzeba bazy danych, kolejek, żadnego setupu. FlowCord wykonuje to wszystko na hostowanej infrastrukturze.

Najczęstsze pytania

  • Czy cron-workflow działa w mojej strefie czasowej?
    Tak. W ustawieniach bota wybierasz strefę (np. Europe/Warsaw) — wszystkie crony używają jej do interpretacji. Domyślnie UTC.
  • Co jeśli serwer FlowCord będzie offline o tej godzinie?
    Mamy redundancję na wielu instancjach plus monitoring. Pojedyncze opóźnienie do 30 sekund jest możliwe, ale wykonanie nigdy nie ginie — workflow odpali się w pierwszym dostępnym slocie.
  • Da się zrobić cron co 15 minut tylko w godzinach pracy?
    Tak. Trigger Cron z wyrażeniem "*/15 8-17 * * 1-5" (co 15 min, 8:00–17:00, pon-pt). Albo zwykły co-15-min trigger + bloczek "Jeśli aktualna godzina w przedziale 8–17".
  • Czy mogę dynamicznie tworzyć przypomnienia (np. /reminder za 30 min)?
    Tak. Komenda /reminder zapisuje zadanie do tabeli zmiennych z timestampem. Cron co minutę sprawdza, które są "due", wysyła i kasuje rekord.

Powiązane przykłady

  • Moderacja automatyczna — cron co 24h dekrementuje warns userom (przebaczanie po 7 dniach).
  • System ticketów — cron sprawdza tickety bez aktywności > 48h i przypomina userowi o zamknięciu.