Skip to content

Latest commit

 

History

History
102 lines (79 loc) · 3.01 KB

FAQ.md

File metadata and controls

102 lines (79 loc) · 3.01 KB

1. WeChatVersionNotMatchError异常

如果出现ntchat.exception.WeChatVersionNotMatchError异常, 请确认是否安装github上指定的微信版本,如果确认已经安装,还是报错,可以在代码中添加以下代码,跳过微信版本检测

import ntchat
ntchat.set_wechat_exe_path(wechat_version='3.6.0.18') 

如果还是无法正常使用,但确认已经安装过了3.6.0.18版本可以如下设置

import ntchat

# wechat_exe_path设置成自己3.6.0.18版本的微信的安装路径
ntchat.set_wechat_exe_path(
    wechat_exe_path=r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe", 
    wechat_version="3.6.0.18")

也可以使用注册表修复这个问题,将下面内容保存成WeChatFix.reg, 并双击运行, 如果安装时有修改安装路径,需要修改下面的InstallPath为自己设定的安装路径

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Tencent\WeChat]
"Version"=dword:63060012
"InstallPath"="C:\Program Files (x86)\Tencent\WeChat"

2. ImportError: cannot import name 'wcprobe' from 'ntchat.wc'

出现在这个错误的原因是因为你在github下载的源码目录中运行程序,因为wcprobe是根据python版本自动编译生成的,所以源码目录中没有这个文件.

你需要将要运行的例子文件移动到非源码目录下,再去运行或打包

3. 如何多开

新建多个ntchat.WeChat实例,然后调用open方法:

import ntchat

# 多开3个微信
for i in range(3):
    wechat = ntchat.WeChat()
    wechat.open(smart=False)

更完善的多实例管理查看fastapi_example例子

4. 如何监听输出所有的消息

# 注册监听所有消息回调
@wechat.msg_register(ntchat.MT_ALL)
def on_recv_text_msg(wechat_instance: ntchat.WeChat, message):
    print("########################")
    print(message)

完全例子查看examples/msg_register_all.py

5. 如何关闭NtChat的日志

os.environ['NTCHAT_LOG'] = "ERROR" 要在import ntchat前执行

# -*- coding: utf-8 -*-
import os
import sys
import time
os.environ['NTCHAT_LOG'] = "ERROR"

import ntchat

6. 如何正常的关闭Cmd窗口

先使用pip install pywin32 安装pywin32模块, 然后在代码中添加以下代码, 完整例子查看examples/cmd_close_event.py

import sys
import ntchat
import win32api

def on_exit(sig, func=None):
    ntchat.exit_()
    sys.exit()


# 当关闭cmd窗口时
win32api.SetConsoleCtrlHandler(on_exit, True)

7. pyinstaller打包exe

使用pyinstaller打包NtChat项目,需要添加--collect-data=ntchat选项

打包成单个exe程序

pyinstaller -F --collect-data=ntchat main.py

将所有的依赖文件打包到一个目录中

pyinstaller -y --collect-data=ntchat main.py

打包fastapi_example示例,需要添加--paths=. --collect-data=ntchat

pyinstaller -F --paths=. --collect-data=ntchat main.py