用途
wecomcli-edit-todo 是企业微信待办事项编辑技能,属于 wecom-cli 命令行程序的一部分。所有操作通过执行 wecom-cli 命令完成,用于对企业微信待办事项进行写操作。当用户需要创建、更新、删除待办,或变更自己在待办中的处理进度状态时使用该技能。
主要能力
该技能支持四种操作:
-
创建待办:创建一个新的待办事项,可指定内容、分派人和提醒时间。命令为
wecom-cli todo create_todo '<json格式的入参>'。必填参数为 content(待办内容),可选参数为 follower_list(分派人列表)和 remind_time(提醒时间,格式 YYYY-MM-DD HH:mm:ss)。返回结果包含 errcode、errmsg 和 todo_id。 -
更新待办:修改已有待办事项的内容、分派人、状态或提醒时间。命令为
wecom-cli todo update_todo '<json格式的入参>'。必填参数为 todo_id,可选参数为 content、follower_list(全量替换,非追加)、todo_status(0-已完成,1-进行中)和 remind_time。 -
删除待办:删除指定的待办事项。命令为
wecom-cli todo delete_todo '<json格式的入参>'。必填参数为 todo_id。删除操作不可撤销,执行前应向用户确认。delete_todo 与 update_todo 设置 todo_status=2 效果相同,优先使用 delete_todo。 -
变更用户待办状态:更改当前用户在某个待办中的状态(拒绝/接受/已完成)。命令为
wecom-cli todo change_todo_user_status '<json格式的入参>'。必填参数为 todo_id 和 user_status(0-拒绝,1-接受,2-已完成)。
使用方式
该技能通过命令行调用,所有操作均需传入 JSON 格式的入参。典型工作流包括:
- 创建待办并分派给同事:先通过 wecomcli-lookup-contact 技能查询目标成员的 userid,再调用 create_todo 创建待办并分派。follower_id 必须来自查询结果,禁止自行猜测。
- 标记待办完成:需区分两种场景——标记待办本身完成(改 todo_status)和标记我的参与状态为完成(改 user_status)。前者使用 update_todo 设置 todo_status=0,后者使用 change_todo_user_status 设置 user_status=2。
- 更新待办内容或提醒时间:先通过 wecomcli-get-todo-list 和 wecomcli-get-todo-detail 查找目标待办,确认后调用 update_todo 更新。
- 删除待办:先查找目标待办,向用户确认后调用 delete_todo 删除。
适用场景
适用于用户提出以下类型请求的场景:"帮我创建一个待办"、"把这个任务分派给张三"、"标记待办完成"、"删掉那个待办"、"帮我建个提醒"、"更新一下待办内容"、"把提醒时间改到下周"、"接受这个待办"、"拒绝这个待办"等需要对待办进行写操作的情况。
限制与注意事项
- todo_id 来源规则:todo_id 必须来自 wecomcli-get-todo-list 返回的结果,禁止自行推测或构造。用户通常提供待办内容描述而非 ID,应先查列表再匹配。若匹配到多个相似待办,需展示候选列表让用户确认。
- follower_id 来源规则:follower_id 即 userid,必须通过 wecomcli-lookup-contact 技能的 get_userlist 接口获取,禁止根据用户姓名自行猜测。若搜索结果有多个同名人员,需展示候选列表让用户选择。
- 时间格式:所有时间参数使用 YYYY-MM-DD HH:mm:ss 格式。用户说"明天"、"下周一"等相对时间时,需根据当前日期推算具体日期。
- 状态值含义:待办状态(todo_status):0-已完成,1-进行中,2-已删除;用户状态(user_status):0-拒绝,1-接受,2-已完成;分派人状态(follower_status):0-拒绝,1-接受,2-已完成。
- 破坏性操作确认:删除待办前必须向用户确认;变更状态为"拒绝"(user_status=0)前建议向用户确认。
- 错误处理:若 errcode 不为 0,说明接口调用失败,需告知用户 errmsg 中的错误信息。
- 重试策略:遭遇"返回 HTTP 错误"或"HTTP 请求失败"时,主动重试,最多重试三次。
- follower_list 格式:作为输入参数时,follower_list 对象内包含一层 "followers" 数组,每个元素包含 follower_id 和 follower_status。
相关技能
- wecomcli-get-todo-list:查询待办概要列表,获取 todo_id
- wecomcli-get-todo-detail:根据 todo_id 获取完整内容
- wecomcli-lookup-contact 的 get_userlist:获取成员 userid,用于 follower_id