PicoBot/.qoder/skills/lark-calendar/references/lark-calendar-freebusy.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

3.8 KiB
Raw Blame History

calendar +freebusy

前置条件: 先阅读 ../lark-shared/SKILL.md

查询用户主日历的忙闲信息返回指定时间范围内的忙碌时段列表和rsvp的状态。

需要的scopes: ["calendar:calendar.free_busy:read"]

命令

# 查询当前用户今天的忙闲(默认)
lark-cli calendar +freebusy

# 自定义时间范围(仅日期)
lark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-12

# 自定义时间范围(完整 ISO 8601
lark-cli calendar +freebusy --start "2026-03-11T08:00:00+08:00" --end "2026-03-11T18:00:00+08:00"

# 查询指定用户的忙闲信息
lark-cli calendar +freebusy --start 2026-03-11 --end 2026-03-12 --user-id ou_xxx

# 人类可读格式输出
lark-cli calendar +freebusy --format pretty

参数

参数 必填 说明
--start <time> 查询开始时间ISO 8601 或仅日期,默认当天)
--end <time> 查询结束时间(默认与 --start 属于同一天,自动取当天结束时间)
--user-id <open_id> 目标查询用户 IDou_ 前缀。省略时默认查询当前登录用户bot 身份调用时必须明确指定
--format 输出格式json默认 | pretty
--dry-run 预览 API 调用,不执行

时间格式

--start--end 支持以下格式:

格式 示例 说明
ISO 8601 2026-03-11T09:00:00+08:00 完整格式
日期+时间 2026-03-11 09:00:00 自动补全时区
仅日期 2026-03-11 start 取 00:00:00end 取 23:59:59
Unix 时间戳 1741564800 秒级时间戳

输出示例

表格格式

start             end               rsvp_status
----------------  ----------------  -----------
2026-03-11 10:00  2026-03-11 10:30  接受
2026-03-11 14:00  2026-03-11 15:00  待定

共 2 个忙碌时段

JSON 格式

[
  {
    "start_time": "2026-03-11T10:00:00+08:00",
    "end_time": "2026-03-11T10:30:00+08:00",
    "rsvp_status": "accept"
  },
  {
    "start_time": "2026-03-11T14:00:00+08:00",
    "end_time": "2026-03-11T15:00:00+08:00",
    "rsvp_status": "tentative"
  }
]

典型场景

1. 查找日程会议空闲时段

# 查询今天的忙碌时段
lark-cli calendar +freebusy

# 查询工作时间段
lark-cli calendar +freebusy \
  --start "2026-03-11T08:00:00+08:00" \
  --end "2026-03-11T18:00:00+08:00"

2. 检查团队成员可用性

# 查询多个成员,对比找出共同空闲时间
lark-cli calendar +freebusy --start 2026-03-12 --user-id ou_member_a
lark-cli calendar +freebusy --start 2026-03-12 --user-id ou_member_b

注意事项

  1. 只查询主日历 — 此命令只返回用户主日历的忙闲信息,不包括其他订阅日历
  2. 隐私保护 — 只返回忙碌时段的起止时间,不包含日程标题、描述等详细信息
  3. bot 身份 — bot 必须通过 --user-id 指定要查询的用户

与其他命令对比

命令 用途 输出内容
calendar +freebusy 查询忙闲时段 只返回忙碌时段列表(无日程详情)
calendar +agenda 查看日程安排 返回完整日程列表(含标题、描述等)

选择建议

  • 仅需了解是否有空 → 使用 +freebusy(更快,隐私保护)
  • 需要查看日程详情 → 使用 +agenda

参考