PicoBot/.qoder/skills/lark-mail/references/lark-mail-share-to-chat.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.0 KiB
Raw Blame History

mail +share-to-chat

前置条件: 先阅读 ../../lark-shared/SKILL.md 了解认证、全局参数和安全规则。

将邮件以卡片形式分享到飞书 IM 会话(群聊或个人对话)。内部两步完成:创建分享凭证 → 发送卡片到 IM。

依赖 Scope mail:user_mailbox.message:readonlyim:messageim:message.send_as_user

命令

# 分享单封邮件到群聊(默认 receive-id-type=chat_id
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id oc_xxx

# 分享整个会话到群聊
lark-cli mail +share-to-chat --thread-id <会话ID> --receive-id oc_xxx

# 通过邮箱分享给个人
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id user@example.com --receive-id-type email

# Dry Run
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id oc_xxx --dry-run

参数

参数 必填 说明
--message-id <id> 否(二选一) 要分享的邮件 ID--thread-id 互斥
--thread-id <id> 否(二选一) 要分享的邮件会话 ID--message-id 互斥
--receive-id <id> 目标接收者 ID类型由 --receive-id-type 决定
--receive-id-type <type> 接收者 ID 类型(默认 chat_id)。可选:chat_id / open_id / user_id / union_id / email
--mailbox <email> 邮箱地址(默认 me
--dry-run 仅打印请求,不执行

返回值

{
  "ok": true,
  "data": {
    "card_id": "550e8400-e29b-41d4-a716-446655440000",
    "im_message_id": "om_dc13264520392913993dd051dba21dcf"
  }
}

典型场景

场景 1用户说"帮我把这封邮件分享到项目群"

# Step 1: 搜索群聊获取 chat_id
lark-cli im +chat-search --query "项目群"
# → 获取 chat_id: oc_xxx

# Step 2: 分享邮件
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id oc_xxx

场景 2分享整个邮件会话

lark-cli mail +share-to-chat --thread-id <会话ID> --receive-id oc_xxx

场景 3通过邮箱分享给个人

lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id alice@example.com --receive-id-type email

常见错误

症状 原因 解决
either --message-id or --thread-id is required 两个参数都未传 传入其中一个
--message-id and --thread-id are mutually exclusive 两个参数同时传 只传一个
403 user not in chat 用户不在目标会话中 确认用户是群成员
404 message not found 邮件 ID 无效 确认邮件 ID 正确
403 permission not granted 缺少 im:messageim:message.send_as_user scope 重新授权:lark-cli auth login --scope "im:message,im:message.send_as_user"

相关命令

  • lark-cli im +chat-search — 搜索群聊获取 chat_id
  • lark-cli mail +message — 查看邮件内容
  • lark-cli mail +thread — 查看邮件会话