Skip to content

Cron

Cron-триггер выполняет плагин по расписанию. Расписание задаётся в стандартном cron-формате.

Регистрация

go
wasmplugin.Trigger{
    Name:        "daily_report",
    Type:        wasmplugin.TriggerCron,
    Description: "Ежедневный отчёт в 9:00",
    Schedule:    "0 9 * * *",
    Handler: func(ctx *wasmplugin.EventContext) error {
        report := generateReport()
        ctx.NotifyChat("telegram", "CHAT_ID", report, wasmplugin.PriorityNormal)
        return nil
    },
}

Формат расписания

Стандартный cron с 5 полями:

┌───────────── минута (0-59)
│ ┌───────────── час (0-23)
│ │ ┌───────────── день месяца (1-31)
│ │ │ ┌───────────── месяц (1-12)
│ │ │ │ ┌───────────── день недели (0-6, 0 = воскресенье)
│ │ │ │ │
* * * * *

Поля ctx.Cron

ПолеТипОписание
ScheduleNamestringИмя расписания (совпадает с Name триггера)
FireTimeint64Unix timestamp момента срабатывания

ctx.Reply() не работает в cron-триггерах

ctx.Reply() доступен только в messenger-триггерах. Для отправки сообщений из cron используйте ctx.NotifyChat(channelType, chatID, text, priority).