feat: 微信自动化客服(wechatauto-replica) 干净历史导入 - AI 自动回复/语音收发/朋友圈发布
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""实测 sender_id:get_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"))
|
||||
|
||||
# 路径1:get_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))
|
||||
|
||||
# 路径2:Listener 回调的 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] 结束(若无新消息则无回调输出,属正常)")
|
||||
Reference in New Issue
Block a user