Commit Graph
2 Commits
  • fix(tg_bot): 放宽退订链接 URL 长度上限,长 tracking 链接不被误杀
    实测 D:\DOWNLOADS\mail_bot.db 中 ChatGPT 推广邮件的退订链接
    (https://r.openai.com/asm/unsubscribe/?...) 长度 700+ 字符,
    而 _link_buttons 的 len(url) < 200 校验会把它过滤掉,导致
    即使 AI 提取出退订链接、显示层也修好了,按钮依然不显示。
    上限 200 -> 2048(Telegram inline URL 按钮安全范围)。
    
    新增回归测试 test_long_unsub_url_rendered / test_oversized_url_filtered,
    共 9 个用例全部通过。
  • fix(tg_bot): 推广邮件键盘渲染退订链接 + 强化提示词提取优先级
    - _summary_keyboard 推广分支忽略 links 参数,AI 提取到退订链接也不显示
      现改为退订链接排第一行(🔕),保留告诉我更多/查看原文按钮
    - CALLBACK_PROMO_DETAIL 展开详情键盘同样带上退订链接
    - 抽取 _is_unsub_link/_link_buttons 辅助函数,退订链接(含 URL 关键词变体)排最前
    - SYSTEM_PROMPT: 退订提取规则提升为最高优先级,推广邮件必须输出退订链接
      且占 links 第一位,其余链接最多 2 条,不得挤掉退订链接
    - 新增 tests/test_unsub_keyboard.py 7 个用例全部通过