Explorar el Código

内容: 评论通知按笔记生成针对性回复建议

Sisyphus Agent hace 2 meses
padre
commit
2962c6790d
Se han modificado 1 ficheros con 33 adiciones y 27 borrados
  1. 33 27
      运营文案/xhs_unreplied_comments.py

+ 33 - 27
运营文案/xhs_unreplied_comments.py

@@ -70,19 +70,19 @@ def extract_comment_counts(publisher, limit=10):
     return notes
 
 
-# ─── 基于笔记标题生成回复建议 ───────────────────────────────────────────
+# ─── 基于笔记标题生成针对性回复建议 ──────────────────────────────────────
 
-TOPIC_HINTS = {
-    # 教育类
+REPLY_TEMPLATES = {
+    # 教育/育儿类
     "孩子": [
-        "你家孩子也这样吗?来评论区聊聊你的经历",
-        "有没有同款娃?说说你家娃的情况",
+        "你家孩子也这样吗?来评论区聊聊你的经历 😊",
+        "有没有同款娃?说说你家娃的情况~",
         "这个方法你家试过吗?效果怎么样?",
     ],
     "家长": [
         "作为家长,你们是怎么处理类似情况的?",
         "大家在育儿路上遇到过什么难题?",
-        "评论区分享一下你们的经验吧",
+        "评论区分享一下你们的经验吧 💬",
     ],
     "学习": [
         "你们家孩子学习时有什么好习惯?",
@@ -91,20 +91,20 @@ TOPIC_HINTS = {
     ],
     "小学": [
         "小学生家长你们有什么建议?",
-        "有没有类似经历?分享一下",
+        "有没有类似经历?分享一下~",
         "大家怎么看待小学阶段的教育?",
     ],
     # 家庭/关系类
     "家": [
         "你家是怎么处理类似情况的?",
-        "评论区聊聊你们的家庭故事",
+        "评论区聊聊你们的家庭故事 🏠",
         "大家有什么好的建议?",
     ],
     # 健康/生活类
     "温度": [
         "你们家室温一般控制在多少度?",
         "有没有其他方法保持室内舒适?",
-        "评论区交流一下经验",
+        "评论区交流一下经验 🌡️",
     ],
     "睡": [
         "你家宝宝睡觉怎么样?",
@@ -114,47 +114,53 @@ TOPIC_HINTS = {
     # 消费/决策类
     "决定": [
         "你们做过什么让自己不后悔的决定?",
-        "评论区聊聊你的重要决定",
+        "评论区聊聊你的重要决定 💭",
         "有没有类似经历?分享一下",
     ],
     "教育": [
         "你们的教育理念是什么?",
-        "评论区交流一下育儿心得",
+        "评论区交流一下育儿心得 📚",
         "大家觉得最好的教育方式是什么?",
     ],
     "博主": [
         "你们有没有被割韭菜的经历?",
-        "评论区说说你们的经验",
+        "评论区说说你们的经验 💡",
         "大家是怎么避坑的?",
     ],
     # 通用
     "话题": [
         "你们怎么看这个问题?",
-        "评论区说说你的想法",
+        "评论区说说你的想法 💬",
         "大家有什么不同的看法?",
     ],
 }
 
-# 通用 fallback 回复建议
 GENERAL_SUGGESTIONS = [
-    "你觉得呢?来评论区聊聊",
-    "大家有什么想说的?",
+    "你觉得呢?来评论区聊聊~",
+    "大家有什么想说的?欢迎分享 🙌",
     "欢迎在评论区分享你的经历",
-    "有没有同款经历?评论区见",
-    "说说你的看法吧",
+    "有没有同款经历?评论区见 👋",
+    "说说你的看法吧~",
 ]
 
 
-def generate_reply_suggestion(title, comment_count):
-    """根据笔记标题生成回复建议。"""
+def generate_reply_suggestions(title, comment_count):
+    """根据笔记标题生成针对性的回复建议。"""
+    suggestions = []
     title_lower = title.lower()
-    for keywords, hints in TOPIC_HINTS.items():
+
+    for keywords, hints in REPLY_TEMPLATES.items():
         if keywords in title:
-            # 根据评论数选择合适数量的建议
+            # 根据评论数选择建议数量(最多3条)
             num = min(comment_count, 3)
-            return hints[:num]
-    # fallback
-    return GENERAL_SUGGESTIONS[:min(comment_count, 2)]
+            suggestions.extend(hints[:num])
+            break
+
+    # 如果没有匹配到模板,使用通用建议
+    if not suggestions:
+        suggestions = GENERAL_SUGGESTIONS[:min(comment_count, 2)]
+
+    return suggestions[:3]  # 最多3条
 
 
 def check_comments():
@@ -179,7 +185,7 @@ def check_comments():
         # 构建消息
         lines = []
         for n in noted_with_comments:
-            suggestions = generate_reply_suggestion(n["title"], n["comment_count"])
+            suggestions = generate_reply_suggestions(n["title"], n["comment_count"])
             sug_text = "\n".join(f"  · {s}" for s in suggestions)
             lines.append(
                 f"  · 《{n['title']}》({n['publish_date']})\n"
@@ -190,7 +196,7 @@ def check_comments():
         msg = (
             f"📬 小红书评论提醒({date})\n\n"
             + "\n\n".join(lines)
-            + "\n\n💬 及时回复评论可以增加互动和粉丝粘性"
+            + "\n\n💬 提示:以上为有评论的笔记,请及时回复以增加互动和粉丝粘性"
         )
         print(msg)