TITLE=Discord szálütemező ROUTE=/services/statusbot LOCALE=hu MODIFIED=1792749862 URL=https://wiki.teletypegames.org/hu/services/statusbot L=1 #31 q│ Free Pascal bot, amely hetente egyszer, fix időpontban létrehoz egy q│ Discord-szálat, és beleposztolja az első üzenetet. Heti q│ státuszfrissítésekhez és bejelentkezésekhez való. 1Konfiguráció 1════════════ Környezeti változók; a sablon az cenv-example0. t┌────────────────────┬───────────────────────────┬───────────────────────────┐ t│h Változó t│h Leírás t│h Példa t│ t├────────────────────┼───────────────────────────┼───────────────────────────┤ t│0 cRUN_AT0 t│0 Az ütemezés cDOW:HH:MM0 t│0 c3:09:000 (kedd 09:00) t│ t│0 t│0 formátumban (1=vasárnap, t│0 t│ t│0 t│0 7=szombat). t│0 t│ t├────────────────────┼───────────────────────────┼───────────────────────────┤ t│0 cDISCORD_BOT_TOKEN0 t│0 A Discord bot t│0 cMTIzNDU2...0 t│ t│0 t│0 hitelesítési tokenje. t│0 t│ t├────────────────────┼───────────────────────────┼───────────────────────────┤ t│0 cDISCORD_CHANNEL_ID0 t│0 Annak a csatornának az t│0 c1234567890123456780 t│ t│0 t│0 azonosítója, ahol a szál t│0 t│ t│0 t│0 létrejön. t│0 t│ t├────────────────────┼───────────────────────────┼───────────────────────────┤ t│0 cTHREAD_NAME0 t│0 A szál alapneve. Az t│0 cWeekly Status0 t│ t│0 t│0 aktuális dátum t│0 t│ t│0 t│0 automatikusan t│0 t│ t│0 t│0 hozzáfűződik. t│0 t│ t├────────────────────┼───────────────────────────┼───────────────────────────┤ t│0 cTHREAD_MESSAGE0 t│0 A szálba posztolt első t│0 c@here Please post0 t│ t│0 t│0 üzenet. t│0 cupdates!0 t│ t│0 t│0 Discord-említéseket is t│0 t│ t│0 t│0 elfogad. t│0 t│ t├────────────────────┼───────────────────────────┼───────────────────────────┤ t│0 cARCHIVE_DURATION0 t│0 (Opcionális) Hány perc t│0 c14400 (1 nap) t│ t│0 t│0 múlva archiválódjon a t│0 t│ t│0 t│0 szál. Alapérték 10080 (7 t│0 t│ t│0 t│0 nap). t│0 t│ t└────────────────────┴───────────────────────────┴───────────────────────────┘ A cRUN_AT0 formátuma chét napja:óra:perc0 — a nap 1 (vasárnap) és 7 (szombat) között, az óra 0–23, a perc 0–59. A cRUN_AT=2:14:300 minden hétfőn 14:30-at jelent. 1Hogyan működik 1══════════════ 1. Induláskor beolvassa a cRUN_AT0 értéket, és ellenőrzi a környezetet. 2. Tízmásodpercenként megnézi a rendszeridőt. 3. Egyezés esetén meghívja a Discord API-t: létrehozza a cTHREAD_NAME c(ÉÉÉÉ-HH-NN)0 nevű szálat, kiveszi a válaszból az új szál azonosítóját, majd beleposztolja a cTHREAD_MESSAGE0 üzenetet. 4. Megvárja a következő percet, így ugyanaz az ütemezett perc nem sülhet el kétszer. 1Követelmények 1═════════════ Olyan Discord bot, amelynek a célcsatornán cSend Messages0 és cCreate Public cThreads0 joga van. Önálló binárisként vagy Dockerben fut. 1Telepítés 1═════════ A bot a szerveren a c/srv/stacks/statusbot0-ban fut. A masterre pusholt változás, ha a cstatusbot.pas0-t, a cDockerfile0-t vagy a ccompose.yaml0-t érinti, Woodpeckerből települ (cci-deploy statusbot0, lásd 1Telepítés); a pipeline előbb cfpc0-vel lefordítja. A c.env0 a szerveren marad. 1Repó 1════ https://git.teletypegames.org/services/statusbot