feat: 微信自动化客服(wechatauto-replica) 干净历史导入 - AI 自动回复/语音收发/朋友圈发布

This commit is contained in:
2026-09-16 10:12:49 +08:00
commit c3b98f4c4e
69 changed files with 19828 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
"""实测 sender_idget_messages 与 Listener 回调两条路径的真实值"""
import sys, os, tempfile, time, threading
BASE = r"C:\Users\Administrator\wechatauto-replica"
os.chdir(BASE)
sys.path.insert(0, BASE)
try:
sys.stdout.reconfigure(encoding="utf-8", errors="replace")
except AttributeError:
pass
from wechatauto.db import WeChatDB, Listener
wd = tempfile.mkdtemp(prefix="diag_sid_")
db = WeChatDB(workdir=wd)
info = db.get_self_info()
self_wxid = info.get("username")
print("SELF wxid:", self_wxid, "| nick:", info.get("nick_name"))
# 路径1get_messages 的 sender_id
who = "wxid_yxnyrj5sul1g22"
try:
msgs = db.get_messages(who, limit=12)
print("\n[get_messages] 好友", who, "最近", len(msgs), "条:")
for m in reversed(msgs):
sid = str(m.get("sender_id"))
me = "★自己" if (sid == "1" or sid == self_wxid) else "对方"
print(f" sender_id={sid!r} {me} | {m.get('type')} | {str(m.get('content'))[:28]}")
except Exception as e:
print("get_messages ERR:", repr(e))
# 路径2Listener 回调的 sender_id(真实监听一条,看回调字段)
print("\n[Listener] 用 add_listener 监听该好友,等 3s 观察 watermark 初始化…")
seen = {}
lst = Listener(db, interval=1.0)
def on_msg(m, l):
sid = str(m.get("sender_id"))
print(" Listener 回调 sender_id=%r | content=%r" % (sid, str(m.get("content"))[:30]))
lst.add_listener(who, on_msg)
lst.start()
time.sleep(3)
lst.stop()
print("[Listener] 结束(若无新消息则无回调输出,属正常)")