Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NtChat

releaseLicense

介绍

  • 基于pc微信的api接口, 类似itchat项目
  • 支持收发文本、群@、名片、图片、文件、视频、链接卡片等
  • 支持好友和群管理

支持的微信版本下载

安装

pip install ntchat

国内源安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ntchat

简单入门实例

有了ntchat,如果你想要给文件传输助手发一条信息,只需要这样

# -*- coding: utf-8 -*-importsysimportntchatwechat=ntchat.WeChat()
# 打开pc微信, smart: 是否管理已经登录的微信wechat.open(smart=False)
# 等待登录wechat.wait_login()
# 向文件助手发送一条消息wechat.send_text(to_wxid="filehelper", content="hello, filehelper")
try:
whileTrue:
passexceptKeyboardInterrupt:
ntchat.exit_()
sys.exit()

获取联系人和群列表

# -*- coding: utf-8 -*-importsysimportntchatwechat=ntchat.WeChat()
# 打开pc微信, smart: 是否管理已经登录的微信wechat.open(smart=False)
# 等待登录wechat.wait_login()
# 获取联系人列表并输出contacts=wechat.get_contacts()
print("联系人列表: ")
print(contacts)
rooms=wechat.get_rooms()
print("群列表: ")
print(rooms)
try:
whileTrue:
passexceptKeyboardInterrupt:
ntchat.exit_()
sys.exit()

监听消息并自动回复

# -*- coding: utf-8 -*-importsysimportntchatwechat=ntchat.WeChat()
# 打开pc微信, smart: 是否管理已经登录的微信wechat.open(smart=False)
# 注册消息回调@wechat.msg_register(ntchat.MT_RECV_TEXT_MSG)defon_recv_text_msg(wechat_instance: ntchat.WeChat, message):
data=message["data"]
from_wxid=data["from_wxid"]
self_wxid=wechat_instance.get_login_info()["wxid"]
# 判断消息不是自己发的,并回复对方iffrom_wxid!=self_wxid:
wechat_instance.send_text(to_wxid=from_wxid, content=f"你发送的消息是: {data['msg']}")
try:
whileTrue:
passexceptKeyboardInterrupt:
ntchat.exit_()
sys.exit()

使用pyxcgui界面库实现的简单例子

vcnRfg.jpg

代码如下:

# -*- coding: utf8 -*-importxcguiimportntchatfromxcguiimportXApp, XWindowclassNtChatWindow(XWindow):
def__init__(self):
super(NtChatWindow, self).__init__()
self.loadLayout("resources\\send_text_ui.xml")
self.setMinimumSize(600, 500)
btn: xcgui.XButton=self.findObjectByName("btn_open")
btn.regEvent(xcgui.XE_BNCLICK, self.on_btn_open_clicked)
btn: xcgui.XButton=self.findObjectByName("btn_send")
btn.regEvent(xcgui.XE_BNCLICK, self.on_btn_send_clicked)
self.edit_wxid: xcgui.XEdit=self.findObjectByName("edit_wxid")
self.edit_content: xcgui.XEdit=self.findObjectByName("edit_content")
self.edit_log: xcgui.XEdit=self.findObjectByName("edit_log")
self.edit_log.enableAutoWrap(True)
self.wechat_instance: ntchat.WeChat=Nonedefon_btn_open_clicked(self, sender, _):
self.wechat_instance=ntchat.WeChat()
self.wechat_instance.open()
self.wechat_instance.on(ntchat.MT_ALL, self.on_recv_message)
defon_btn_send_clicked(self, sender, _):
ifnotself.wechat_instanceornotself.wechat_instance.login_status:
svg=xcgui.XSvg.loadFile("resources\\warn.svg")
svg.setSize(16, 16)
self.notifyMsgWindowPopup(xcgui.position_flag_top, "警告", "请先打开并登录微信",
xcgui.XImage.loadSvg(svg), xcgui.notifyMsg_skin_warning)
else:
self.wechat_instance.send_text(self.edit_wxid.getText(), self.edit_content.getText())
defon_recv_message(self, wechat, message):
text=self.edit_log.getText()
text+="\n"text+=str(message)
self.edit_log.setText(text)
self.redraw()
if__name__=='__main__':
app=XApp()
window=NtChatWindow()
window.showWindow()
app.run()
ntchat.exit_()
app.exit()

帮助&支持

点击链接加入群聊 PyXCGUI&NtChat交流群

About

About Conversational RPA SDK for Chatbot Makers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages