Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Создаёт и доставляет пользователю напоминания в текущий чат мессенджера через systemEvent в main session по расписанию или интервалу.
Создаёт и доставляет пользователю напоминания в текущий чат мессенджера через systemEvent в main session по расписанию или интервалу.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Навык для создания напоминаний через cron jobs с доставкой в Telegram.
В ~/.openclaw/openclaw.json проверь: { "agents": { "defaults": { "heartbeat": { "every": "5m", // ← НЕ должен быть "0m" или отсутствовать "target": "last" // ← Куда отправлять ответы } } } } Если heartbeat.every = "0m" или отсутствует — напоминания НЕ будут работать!
Всегда указывай "wakeMode": "now" чтобы heartbeat сработал сразу: { "sessionTarget": "main", "wakeMode": "now", // ← ОБЯЗАТЕЛЬНО для немедленного срабатывания "payload": { ... } } Без этого напоминание будет ждать следующего heartbeat (до 5 минут).
После установки навыка обязательно протестируй все подходы с пользователем:
Поставь тестовое напоминание через 1 минуту
Отправь тестовое сообщение через message tool
После тестов запиши в память какой подход работает: Пример записи в MEMORY.md или memory/YYYY-MM-DD.md: ## Напоминания **Рабочий подход:** sessionTarget: "main" + systemEvent + wakeMode: "now" **Проверено:** 2026-02-14 **Chat ID пользователя:** 7977422300
Проверь: ✅ Heartbeat включён (heartbeat.every ≠ "0m") ✅ HEARTBEAT.md содержит инструкцию для напоминаний ✅ wakeMode: "now" указан в cron job ✅ Telegram канал настроен и работает
{ "name": "Напоминание", "schedule": { "kind": "at", "at": "2026-02-14T15:00:00+03:00" }, "sessionTarget": "main", "wakeMode": "now", "payload": { "kind": "systemEvent", "text": "⏰ НАПОМИНАНИЕ: текст напоминания" } } Main агент получит systemEvent → heartbeat сработает → агент ответит в чат.
Используй схему: main агент + message tool { "agentId": "main", "name": "Напоминание от Semen", "schedule": { "kind": "at", "at": "2026-02-14T15:00:00+03:00" }, "sessionTarget": "main", "wakeMode": "now", "payload": { "kind": "systemEvent", "text": "📤 ОТПРАВИТЬ НАПОМИНАНИЕ:\naccountId: semen\ntarget: 7977422300\nmessage: 🤗 текст напоминания" } } Как это работает: Cron срабатывает → systemEvent идёт в main session main агента Main агент видит 📤 ОТПРАВИТЬ НАПОМИНАНИЕ: в HEARTBEAT.md Main агент парсит accountId, target, message Main агент отправляет через message tool с указанным accountId Пользователь получает сообщение от бота НЕ-main агента
Где взять: curl "https://api.telegram.org/bot<BOT_TOKEN>/getUpdates" | jq '.result[].message.chat.id' Или из metadata сообщения — в заголовке Telegram сообщения виден id:XXXXXXXX
АгентaccountIdДжон Зойдберг (main)mainСемёнsemenАндрейandreyХристофорhristoforDiscussionsdiscussions
{ "kind": "at", "at": "2026-02-14T15:00:00+03:00" } ⚠️ Всегда указывай таймзону! Без неё = UTC.
{ "kind": "cron", "expr": "0 9 * * *", "tz": "Europe/Moscow" } ВыражениеЗначение0 9 * * *Каждый день в 9:000 9 * * 1-5Будни в 9:000 18 * * 5Каждую пятницу в 18:000 */2 * * *Каждые 2 часа
{ "kind": "every", "everyMs": 3600000 } ИнтервалМиллисекунды5 минут3000001 час360000024 часа86400000
{ "name": "Напоминание через 10 мин", "schedule": { "kind": "at", "at": "<текущее время + 10 мин>" }, "sessionTarget": "main", "wakeMode": "now", "payload": { "kind": "systemEvent", "text": "⏰ НАПОМИНАНИЕ: проверить почту" } }
{ "agentId": "main", "name": "Утреннее напоминание от Semen", "schedule": { "kind": "cron", "expr": "0 9 * * *", "tz": "Europe/Moscow" }, "sessionTarget": "main", "wakeMode": "now", "payload": { "kind": "systemEvent", "text": "📤 ОТПРАВИТЬ НАПОМИНАНИЕ:\naccountId: semen\ntarget: 7977422300\nmessage: 🤗 Доброе утро! Проверь задачи на сегодня." } }
{ "agentId": "main", "name": "Оплата интернета", "schedule": { "kind": "at", "at": "2026-02-25T10:00:00+03:00" }, "sessionTarget": "main", "wakeMode": "now", "payload": { "kind": "systemEvent", "text": "📤 ОТПРАВИТЬ НАПОМИНАНИЕ:\naccountId: hristofor\ntarget: 7977422300\nmessage: 💰 Напоминание: оплатить интернет до 28 февраля" } }
cron list
cron remove jobId: "uuid"
cron update jobId: "uuid" patch: { enabled: false } cron update jobId: "uuid" patch: { enabled: true }
📤 ОТПРАВИТЬ НАПОМИНАНИЕ: accountId: <accountId бота> target: <Chat ID пользователя> message: <текст напоминания с эмодзи> Эмодзи для разных типов: ЭмодзиАгент🤗Semen🧑💻Andrey💰Hristofor💬Discussions
Перед использованием навыка убедись, что в HEARTBEAT.md main агента есть инструкция для обработки 📤 ОТПРАВИТЬ НАПОМИНАНИЕ:. Проверь файл: ~/.openclaw/workspace-main/HEARTBEAT.md Ищи раздел: ### Напоминания от других агентов (📤 ОТПРАВИТЬ НАПОМИНАНИЕ)
### Напоминания от других агентов (📤 ОТПРАВИТЬ НАПОМИНАНИЕ) Когда получаешь systemEvent с `📤 ОТПРАВИТЬ НАПОМИНАНИЕ:` — это запрос от НЕ-main агента отправить сообщение через их бота. **Формат:** \`\`\` 📤 ОТПРАВИТЬ НАПОМИНАНИЕ: accountId: semen target: 7977422300 message: 🤗 текст напоминания \`\`\` **Действие:** Используй `message` tool: \`\`\`json { "action": "send", "channel": "telegram", "accountId": "<accountId из systemEvent>", "target": "<target из systemEvent>", "message": "<message из systemEvent>" } \`\`\` Ничего больше не отвечай после отправки (NO_REPLY).
При получении такого systemEvent, main агент: Парсит accountId, target, message из текста Использует message tool с этими параметрами Сообщение отправляется от бота с указанным accountId Main агент отвечает NO_REPLY (не дублирует в свой чат)
Main агент имеет стабильный heartbeat — systemEvent всегда обрабатывается Message tool работает — проверено CLI и tool call AccountId маршрутизирует — сообщение идёт от нужного бота Target указывает получателя — Chat ID пользователя
Если агент хочет отправить сообщение СЕЙЧАС (не по расписанию): { "action": "send", "channel": "telegram", "accountId": "semen", "target": "7977422300", "message": "🤗 Текст сообщения" } Это работает для любого агента, если он имеет доступ к message tool.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.