feat(announcement): add schedule configuration for automated announcements
Create a new schedule configuration file that allows defining automated announcements with flexible scheduling options. Supports two scheduling methods: - Interval-based: every X seconds/minutes/hours/days - Cron-based: standard 5-field cron syntax for precise scheduling Announcements can use presets (discord, restart, event) or custom title/text combinations. Includes comprehensive documentation and commented examples.
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
BladW = BladW or {}
|
||||||
|
BladW.Announcement = BladW.Announcement or {}
|
||||||
|
|
||||||
|
-- ─────────────────────────────────────────────
|
||||||
|
-- Annonces automatiques (mon petit cron maison)
|
||||||
|
-- Chaque ligne = une annonce qui part toute seule.
|
||||||
|
--
|
||||||
|
-- QUAND ? une seule des deux clés :
|
||||||
|
--
|
||||||
|
-- every = "30m" -> ça répète tous les X. Unités : s (sec), m (min), h (heure), d (jour)
|
||||||
|
-- ex : "45s", "10m", "2h", "1d"
|
||||||
|
--
|
||||||
|
-- cron = "0 3 * * *" -> comme sur Linux, 5 champs séparés par un espace :
|
||||||
|
-- 1) minute 0-59
|
||||||
|
-- 2) heure 0-23
|
||||||
|
-- 3) jour du mois 1-31
|
||||||
|
-- 4) mois 1-12
|
||||||
|
-- 5) jour semaine 0-6 (0 = dimanche)
|
||||||
|
--
|
||||||
|
-- dans chaque champ je peux mettre :
|
||||||
|
-- * -> tout le temps
|
||||||
|
-- */5 -> tous les 5 (0, 5, 10...)
|
||||||
|
-- 1-5 -> une plage (de 1 à 5)
|
||||||
|
-- 1,3,5 -> une liste
|
||||||
|
--
|
||||||
|
-- quelques exemples qui parlent :
|
||||||
|
-- "*/15 * * * *" -> toutes les 15 min
|
||||||
|
-- "0 * * * *" -> à chaque heure pile
|
||||||
|
-- "0 */2 * * *" -> toutes les 2 heures
|
||||||
|
-- "0 20 * * 5" -> tous les vendredis à 20h
|
||||||
|
-- "30 4 1 * *" -> le 1er du mois à 4h30
|
||||||
|
-- (c'est l'heure du serveur qui compte)
|
||||||
|
--
|
||||||
|
-- QUOI ? soit un preset, soit du sur-mesure :
|
||||||
|
-- preset = "restart" -> reprend un preset (voir sh_presets.lua)
|
||||||
|
-- title = "...", text = "..." -> annonce perso
|
||||||
|
-- (si je mets les deux, title/text passent devant le preset)
|
||||||
|
--
|
||||||
|
-- Pour couper une ligne : je la commente (--) ou je la dégage.
|
||||||
|
-- ─────────────────────────────────────────────
|
||||||
|
BladW.Announcement.Schedules = {
|
||||||
|
|
||||||
|
-- rappel Discord toutes les 30 min
|
||||||
|
{ every = "30m", preset = "discord" },
|
||||||
|
|
||||||
|
-- petite astuce à chaque heure pile
|
||||||
|
{ cron = "0 * * * *", title = "Astuce", text = "Tapez /bannonce pour gérer les annonces." },
|
||||||
|
|
||||||
|
-- exemples à décommenter au besoin
|
||||||
|
-- { cron = "0 5 * * *", preset = "restart" }, -- reboot tous les jours à 5h
|
||||||
|
-- { cron = "0 20 * * 5", preset = "event" }, -- event le vendredi à 20h
|
||||||
|
-- { every = "2h", preset = "discord" }, -- rappel Discord toutes les 2h
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user