qqbot-remind
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseQQ Bot 定时提醒
QQ Bot Scheduled Reminder
⚠️ 强制规则
⚠️ Mandatory Rules
当用户提到「提醒」「闹钟」「定时」「X分钟/小时后」「每天X点」「叫我」等任何涉及延时或定时的请求时,你必须调用工具,绝对不能只用自然语言回复说"好的,我会提醒你"!
你没有内存或后台线程,口头承诺"到时候提醒"是无效的——只有调用工具才能真正注册定时任务。
When the user mentions any requests involving delay or scheduling such as "remind", "alarm", "schedule", "in X minutes/hours", "every day at X o'clock", "call me", etc., you must call the tool. Under no circumstances should you only reply with natural language like "Okay, I will remind you"!
You have no memory or background threads, so verbal promises of "I'll remind you then" are invalid — only calling the tool can truly register the scheduled task.
推荐流程(优先使用 qqbot_remind
工具)
qqbot_remindRecommended Flow (Prioritize using the qqbot_remind
tool)
qqbot_remind第一步:调用 工具,传入简单参数:
qqbot_remind| 参数 | 说明 | 示例 |
|---|---|---|
| 操作类型 | |
| 提醒内容 | |
| 目标地址(可选,系统自动获取,通常无需填写) | — |
| 时间(相对时间或 cron 表达式) | |
| 任务 ID(仅 remove) | |
第二步: 会返回 ,你必须立即将 的值作为参数调用 工具。
qqbot_remindcronParamscronParamscron第三步:根据 工具的返回结果,回复用户。
cronStep 1: Call the tool with simple parameters:
qqbot_remind| Parameter | Description | Example |
|---|---|---|
| Action type | |
| Reminder content | |
| Target address (optional, automatically obtained by the system, usually no need to fill in) | — |
| Time (relative time or cron expression) | |
| Task ID (only for remove) | |
Step 2: will return . You must immediately call the tool with the value of as the parameter.
qqbot_remindcronParamscroncronParamsStep 3: Reply to the user based on the return result of the tool.
cron示例
Example
用户说:"5分钟后提醒我喝水"
- 调用 :
qqbot_remind{ "action": "add", "content": "喝水", "time": "5m" } - 收到返回的 → 立即调用
cronParams工具,参数为该croncronParams - 回复用户:
⏰ 好的,5分钟后提醒你喝水~
User says: "Remind me to drink water in 5 minutes"
- Call :
qqbot_remind{ "action": "add", "content": "drink water", "time": "5m" } - Receive the returned → immediately call the
cronParamstool with thiscronas the parametercronParams - Reply to the user:
⏰ Got it, I'll remind you to drink water in 5 minutes~
备用方案(直接使用 cron
工具)
cronAlternative Solution (Directly use the cron
tool)
cron仅当工具不可用时使用以下方式。qqbot_remind
Use the following method only when thetool is unavailable.qqbot_remind
核心规则
Core Rules
payload.kind 必须是,绝对不能用"agentTurn"!"systemEvent"只在 AI 会话内部注入文本,用户收不到 QQ 消息。systemEvent
5 个不可更改字段:
| 字段 | 固定值 | 原因 |
|---|---|---|
| | |
| | 否则不投递 |
| | QQ 通道标识 |
| 用户 openid | 从 |
| | 隔离会话避免污染 |
必须是绝对毫秒时间戳(如schedule.atMs),不支持1770733800000等相对字符串。 计算方式:"5m"。当前时间戳ms + 延迟毫秒
payload.kind must be, absolutely not"agentTurn"!"systemEvent"only injects text into the AI session internally, and the user will not receive QQ messages.systemEvent
5 Non-modifiable Fields:
| Field | Fixed Value | Reason |
|---|---|---|
| | |
| | Otherwise, it will not be delivered |
| | QQ channel identifier |
| User openid | Obtained from the |
| | Isolate sessions to avoid contamination |
must be an absolute millisecond timestamp (e.g.,schedule.atMs), relative strings like1770733800000are not supported. Calculation method:"5m".current timestamp in ms + delay in ms
一次性提醒(schedule.kind = "at")
One-time Reminder (schedule.kind = "at")
json
{
"action": "add",
"job": {
"name": "{任务名}",
"schedule": { "kind": "at", "atMs": "{当前时间戳ms + N*60000}" },
"sessionTarget": "isolated",
"wakeMode": "now",
"deleteAfterRun": true,
"payload": {
"kind": "agentTurn",
"message": "你是一个暖心的提醒助手。请用温暖、有趣的方式提醒用户:{提醒内容}。要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的鸡汤或关怀的话 (5) 控制在2-3句话以内 (6) 用emoji点缀",
"deliver": true,
"channel": "qqbot",
"to": "{openid}"
}
}
}json
{
"action": "add",
"job": {
"name": "{task name}",
"schedule": { "kind": "at", "atMs": "{current timestamp ms + N*60000}" },
"sessionTarget": "isolated",
"wakeMode": "now",
"deleteAfterRun": true,
"payload": {
"kind": "agentTurn",
"message": "You are a warm reminder assistant. Please remind the user in a warm and interesting way: {reminder content}. Requirements: (1) Do not reply with HEARTBEAT_OK (2) Do not explain who you are (3) Directly output a warm reminder message (4) You can add a short inspirational quote or caring message (5) Keep it within 2-3 sentences (6) Embellish with emojis",
"deliver": true,
"channel": "qqbot",
"to": "{openid}"
}
}
}周期提醒(schedule.kind = "cron")
Recurring Reminder (schedule.kind = "cron")
json
{
"action": "add",
"job": {
"name": "{任务名}",
"schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "Asia/Shanghai" },
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "你是一个暖心的提醒助手。请用温暖、有趣的方式提醒用户:{提醒内容}。要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的鸡汤或关怀的话 (5) 控制在2-3句话以内 (6) 用emoji点缀",
"deliver": true,
"channel": "qqbot",
"to": "{openid}"
}
}
}周期任务不加。群聊deleteAfterRun格式为to。"group:{group_openid}"
json
{
"action": "add",
"job": {
"name": "{task name}",
"schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "Asia/Shanghai" },
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "You are a warm reminder assistant. Please remind the user in a warm and interesting way: {reminder content}. Requirements: (1) Do not reply with HEARTBEAT_OK (2) Do not explain who you are (3) Directly output a warm reminder message (4) You can add a short inspirational quote or caring message (5) Keep it within 2-3 sentences (6) Embellish with emojis",
"deliver": true,
"channel": "qqbot",
"to": "{openid}"
}
}
}Do not addfor recurring tasks. For group chats, thedeleteAfterRunformat isto."group:{group_openid}"
cron 表达式速查
Cron Expression Quick Reference
| 场景 | expr |
|---|---|
| 每天早上8点 | |
| 每天晚上10点 | |
| 工作日早上9点 | |
| 每周一早上9点 | |
| 每周末上午10点 | |
| 每小时整点 | |
周期提醒必须加。"tz": "Asia/Shanghai"
| Scenario | expr |
|---|---|
| Every morning at 8 AM | |
| Every night at 10 PM | |
| Every workday morning at 9 AM | |
| Every Monday morning at 9 AM | |
| Every weekend morning at 10 AM | |
| Every hour on the hour | |
Must addfor recurring reminders."tz": "Asia/Shanghai"
AI 决策指南
AI Decision Guide
| 用户说法 | action | time 格式 |
|---|---|---|
| "5分钟后提醒我喝水" | | |
| "1小时后提醒开会" | | |
| "每天8点提醒我打卡" | | |
| "工作日早上9点提醒" | | |
| "我有哪些提醒" | | — |
| "取消喝水提醒" | | — |
| "修改提醒时间" | | — |
| "提醒我"(无时间) | 需追问 | — |
纯相对时间("5分钟后"、"1小时后")可直接计算,无需确认。时间模糊或缺失时需追问。
| User Statement | action | time Format |
|---|---|---|
| "Remind me to drink water in 5 minutes" | | |
| "Remind me of the meeting in 1 hour" | | |
| "Remind me to check in every day at 8 AM" | | |
| "Remind me every workday morning at 9 AM" | | |
| "What reminders do I have?" | | — |
| "Cancel the drink water reminder" | | — |
| "Modify the reminder time" | | — |
| "Remind me" (no time specified) | Must follow up | — |
Pure relative time ("in 5 minutes", "in 1 hour") can be calculated directly without confirmation. Follow up when the time is ambiguous or missing.
回复模板
Reply Templates
- 一次性:
⏰ 好的,{时间}后提醒你{内容}~ - 周期:
⏰ 收到,{周期}提醒你{内容}~ - 查询无结果:
📋 目前没有提醒哦~ 说"5分钟后提醒我xxx"试试? - 删除成功:
✅ 已取消"{名称}"
- One-time:
⏰ Got it, I'll remind you to {content} in {time}~ - Recurring:
⏰ Received, I'll remind you to {content} {recurrence}~ - No results in query:
📋 There are currently no reminders~ Try saying "Remind me to xxx in 5 minutes"? - Deletion successful:
✅ "{name}" has been cancelled