账号与群聊
不知道自己的 wxid 怎么办
首次使用让 wechat_account 保持 null,直接运行 python main.py。程序等待微信登录后读取账号信息,不需要事先填写 wxid,也无需发送 init。
绑定后,日志会显示当前连接的账号 ID。即使重启微信导致 PID 改变,也会按该账号 ID 重新寻找进程。
同时登录多个微信
首次启动时在终端选择要作为机器人的账号。之后框架只连接绑定账号;该账号退出时等待它重新登录,不会接管其他已登录账号。
更换机器人账号时:
- 在运行窗口输入
quit,等待框架停止。 - 将本地
bot_config.json中的wechat_account改为null。 - 重新运行
python main.py并选择账号。
wechat_pid 通常保持 null。同一微信进程只能由一个项目副本连接。
从日志取得好友和群 ID
让目标会话发送一条普通文本,查看运行窗口或 logs/bot.log:
私聊消息 | 发送者微信ID=wxid_example_friend | 内容="你好"
群消息 | 群ID=12345678@chatroom群消息日志只显示群 ID,不打印群正文。这些 ID 日志在会话白名单过滤前显示,所以新群还未加入配置时也可以发现。
在运行窗口输入 chats,可列出本次连接已经收到过消息的会话。发送接口使用 ID,不能直接使用联系人显示昵称。
添加一个群
将取得的真实群 ID 加入 members_config.json:
{
"database_file": ".runtime/member_data.sqlite3",
"history_enabled": true,
"daily_clear": true,
"groups": {
"12345678@chatroom": []
}
}保留原有群配置,只增加新条目。如果 bot_config.json 中的 chat_allowlist 非空,还要把同一个群 ID 加入其中。空白名单 [] 表示允许全部会话。
重启主程序后,在群中发送 /help 或 echo 你好 验证。模型相关功能还需要启用对应插件并配置模型。
在不同群使用不同称呼
群成员由本人发送:
/绑定 昵称框架将这个称呼与消息作者的真实 ID 关联,只在当前群生效。同一个人在另一个群可以使用不同称呼;未绑定时使用微信联系人缓存中的名字,不复制其他群的绑定。
再次绑定会更新本群的首选称呼,旧称呼仍可作为本群别名查询。其他人不能占用已绑定的称呼。此操作不会修改用户的微信资料。
记录覆盖哪些消息
框架只积累运行后实际收到、符合配置范围的当天文字消息,不读取微信旧历史,也不补拉停机期间的聊天。
当天文本和称呼存放在本地 SQLite。/清空 只清除当前群聊天文本,保留绑定;午夜清理也保留绑定和人格选择。