ai_member_xiaoxi/skills/phone-chapter-query/SKILL.md
2026-06-02 08:00:01 +08:00

2.4 KiB
Raw Blame History

name description
phone-chapter-query 通过手机号文件查询用户课时完成记录。从 Excel/CSV 文件中提取手机号,匹配瓦拉账号, 查询指定课时的首次完成记录(含课程耗时),输出带手机号明文的 xlsx 报表, 并自动发送到指定飞书群。未匹配到账号的手机号追加在表尾。 **触发场景**: (1) 用户发送包含手机号的 Excel/CSV 文件,要求查询课时完成记录 (2) 用户提到"手机号"+"课时"/"学习记录"/"完成记录"的组合 (3) 需要批量通过手机号关联账号并查询学习数据

手机号课时完成记录查询

完整流程

  1. 用户发送包含手机号的 Excel(.xlsx) 或 CSV(.csv) 文件
  2. 运行脚本:提取手机号 → 脱敏匹配账号 → 查询课时记录 → 生成 xlsx
  3. 将生成的 xlsx 文件发送到飞书群 oc_616882799f1910b85a248b74f44c3be5
  4. 同时回复用户确认结果

步骤1: 运行查询脚本

python3 skills/phone-chapter-query/scripts/phone_chapter_query.py <input_file> [--output <path>]
  • input_file: 包含手机号的文件路径(支持 .xlsx 和 .csv
  • --output: 可选,指定输出路径,默认 output/phone_chapter_query_时间戳.xlsx

步骤2: 发送结果到飞书群

脚本执行完成后,使用 lark-send-message-as-bot skill 将生成的 xlsx 文件发送到目标群:

  • 目标群 chat_id: oc_616882799f1910b85a248b74f44c3be5
  • 发送方式: Bot 身份发送文件消息

输出字段

字段 说明
账号ID bi_vala_app_account.id
手机号 明文手机号(来自输入文件)
角色ID bi_vala_app_character.id
注册日期 角色创建时间
最近登录时间 user_detail_info.latest_active_time
课程名称 等级-季-单元-课时 格式
课程完成时间 首次完成日期
课程耗时 分:秒 格式

未匹配到账号的手机号追加在表尾,仅手机号列有值。

匹配规则

  • 自动识别文件中所有 1 开头的 11 位数字作为手机号
  • 使用 XXTEA 加密后与 bi_vala_app_account.tel_encrypt 字段精确匹配
  • 仅匹配 status = 1deleted_at IS NULL 的账号
  • 加密规则XXTEA(key="K1pNOZ5O5+ZqTPSHA2kzPdoNOMOGcv6g") → Base64 → 替换 +-/= 为 -_.

可配置项

脚本顶部的 CHAPTER_IDS 变量控制查询的课时范围,按需修改。