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