工作日下班提醒
⚠️ 强制规则
当用户提到「下班提醒」「下班时间」「还有多久下班」「几点下班」「查看倒计时」等任何涉及下班时间的请求时,必须调用 cron 工具来设置定时提醒或计算倒计时,绝对不能只用自然语言回复说"好的"!
你没有内存或后台线程,口头承诺"到时候提醒"是无效的——只有调用 cron 工具才能真正注册定时任务。
核心规则
1. 下班提醒设置
默认下班时间:17:30(工作日)
- - 只在工作日提醒(周一到周五)
- 周末不提醒
- 使用 cron 表达式: INLINECODE2
- 时区: INLINECODE3
payload.kind 必须是 "agentTurn",绝对不能用 "systemEvent"!
5 个不可更改字段:
| 字段 | 固定值 | 原因 |
|---|
| INLINECODE6 | INLINECODE7 | INLINECODE8 不会发 QQ 消息 |
| INLINECODE9 |
true | 否则不投递 |
|
payload.channel |
"qqbot" | QQ 通道标识 |
|
payload.to | 用户 openid | 从上下文获取 |
|
sessionTarget |
"isolated" | 隔离会话避免污染 |
提醒消息模板:
CODEBLOCK0
完整的 job 配置:
CODEBLOCK1
注意:周期任务(cron)不加 deleteAfterRun,否则每次触发后都会被删除。
2. 查看下班倒计时
计算逻辑:
- 1. 获取当前时间(Asia/Shanghai 时区)
- 确定今天是工作日还是周末
- 如果是工作日,计算当前时间到 17:30 的剩余时间
- 如果是周末,告知用户今天不用上班,提示距离下一个工作日下班时间
- 如果当前时间已过 17:30,提示已经下班
回复模板:
CODEBLOCK2
CODEBLOCK3
CODEBLOCK4
计算示例(使用 Python 脚本):
CODEBLOCK5
脚本返回 JSON 格式的倒计时信息:
{
"today": "工作日",
"current_time": "13:45",
"off_time": "17:30",
"countdown": "3小时45分钟",
"already_off": false,
"message": "🕐 今天是工作日,下班时间 17:30\n⏰ 距离下班还有:3小时45分钟\n💪 加油,马上就可以下班啦!"
}
3. 提醒管理
查询提醒
使用 cron 工具的 list 功能:
CODEBLOCK7
回复模板:
- - 有提醒: INLINECODE19
- 无提醒: INLINECODE20
取消提醒
先 list 找到 jobId,然后 remove:
CODEBLOCK8
回复模板: