「Python」 微信for PC自动群发消息、图片以及文件
itomcoil 2024-12-17 13:51 31 浏览
一、微信群发方式
1.微信官方“群发助手”
?优点:这个功能确实很方便
?缺点:一次只能发一条
????发送内容不能含链接
????不能对群发时每个人设置称呼
???? 发送完毕在聊天窗口栏不显示
???? 群发时发送图片与文件经常未送达且无未送达提醒
2.Itchat、wxpy
??itchat是个非常强大的第三方库。
??但是目前大部分用户面临由于安全问题,TX对很多用户的网页版微信进行了限制登录,itchat库无法发挥作用。出现报错:KeyError: pass_ticket
3.其他还有微信机器人、付费平台,在此不多宣传
4.wxauto第三方库
??平衡之下,我发现了tikic在GitHub上面发布的wxauto第三方库,不可否认他的速度不如itchat,没有那么多人在此基础上做开发,但是wxauto基本满足我对于微信自动化的需求,并且期待后续wxauto的完善。
二、安装方式
pip install wxauto
三、我的案例
??对于日常想要把一些消息通知到每一个人并确保他们能够收到,新建一个群固然快捷,但是对于社交犹豫症的人来说建群、解散群还是会对收消息的人造成很多社交麻烦,并且经常需要通知的人也在变动。
??利用wxauto,实现对好友发送消息(含链接),二维码图片,以及文件。并且在发送信息前加上对于不同好友的称呼:
from wxauto import WeChat
import time, random
wx = WeChat() # 获取当前微信客户端
wx.GetSessionList() # 获取会话列表
# 需要群发的好友
whos = [["微信备注名A", "称呼A"], ["微信备注名B", "称呼B"]]
msg = ",这是链接:https://wj.qq.com/s2,请查收。"
file1 = "E:/FileSave/QRcode.jpg"
file2 = "E:/FileSave/data.zip"
for i in whos:
who = i[0]
message = i[1] + msg # 称呼和发送消息合并
time.sleep(random.randint(10, 20)) # 随机等待10-20s
wx.ChatWith(who) # 打开聊天窗口
# wx.Search(who) # 查找微信好友,不会在当前聊天栏滚动查找
wx.SendMsg(message)
wx.SendFiles(file1, fele2) # 可发送多个文件
print("end send", i[0])
print("All end send")
四、wxauto库的功能整理
wxauto目前有WxParam、WxUtils、WeChat三个类:
?其中WxParam设置基本参数设置。
?对于WxUtils类下面存放着主要功能函数:
函数说明
SetClipboard(data, dtype=‘text’)复制文本信息或图片到剪贴板data : 要复制的内容,str 或 Image 图像;
Screenshot(hwnd, to_clipboard=True)为句柄为hwnd的窗口程序截图;hwnd : 句柄;to_clipboard : 是否复制到剪贴板;
SavePic(savepath=None, filename=None) 保存截图;savepath:文件保存位置;filename:文件名字;
ControlSize(control) 获取控制窗口大小;
ClipboardFormats(unit=0, *units) 获取剪切板格式 ;
CopyDict()
?WeChat类下面定义调用微信的函数:
函数说明
GetSessionList(self, reset=False) 获取当前会话列表,更新会话列表
Search(self, keyword) 查找微信好友或关键词;keywords: 要查找的关键词,最好完整匹配,不完全匹配只会选取搜索框第一个;
ChatWith(self, who, RollTimes=None) 打开某个聊天框;who : 要打开聊天框的好友名,最好完整匹配,不完全匹配只会选取搜索框第一个;RollTimes : 默认向下滚动次数,再进行搜索;
SendMsg(self, msg, clear=True) 向当前窗口发送消息;msg : 要发送的消息;
SendFiles(self, *filepath, not_exists=‘ignore’) 向当前聊天窗口发送文件;not_exists: 如果未找到指定文件,继续进行终止程序;*filepath: 要复制文件的绝对路径;
SendClipboard(self) 向当前聊天页面发送剪贴板复制的内容;
GetAllMessage(self) 获取当前窗口中加载的所有聊天记录;
GetLastMessage(self) 获取当前窗口中最后一条聊天记录
LoadMoreMessage(self, n=0.1) 定位到当前聊天页面,并往上滚动鼠标滚轮,加载更多聊天记录到内存发送某个桌面程序的截图,如:微信、记事本;name : 要发送的桌面程序名字;classname : 要发送的桌面程序类别名;
SendScreenshot(self, name=None, classname=None) 发送某个桌面程序的截图,如:微信、记事本;name : 要发送的桌面程序名字;classname : 要发送的桌面程序类别名;
原文链接:https://blog.csdn.net/qq_45594577/article/details/121735147
相关推荐
- Python Qt GUI设计:将UI文件转换Python文件三种妙招(基础篇—2)
-
在开始本文之前提醒各位朋友,Python记得安装PyQt5库文件,Python语言功能很强,但是Python自带的GUI开发库Tkinter功能很弱,难以开发出专业的GUI。好在Python语言的开放...
- Connect 2.0来了,还有Nuke和Maya新集成
-
ftrackConnect2.0现在可以下载了--重新设计的桌面应用程序,使用户能够将ftrackStudio与创意应用程序集成,发布资产等。这个新版本的发布中还有两个Nuke和Maya新集成,...
- Magicgui:不会GUI编程也能轻松构建Python GUI应用
-
什么是MagicguiMagicgui是一个Python库,它允许开发者仅凭简单的类型注解就能快速构建图形用户界面(GUI)应用程序。这个库基于Napari项目,利用了Python的强大类型系统,使得...
- Python入坑系列:桌面GUI开发之Pyside6
-
阅读本章之后,你可以掌握这些内容:Pyside6的SignalsandSlots、Envents的作用,如何使用?PySide6的Window、DialogsandAlerts、Widgets...
- Python入坑系列-一起认识Pyside6 designer可拖拽桌面GUI
-
通过本文章,你可以了解一下内容:如何安装和使用Pyside6designerdesigner有哪些的特性通过designer如何转成python代码以前以为Pyside6designer需要在下载...
- pyside2的基础界面(pyside2显示图片)
-
今天我们来学习pyside2的基础界面没有安装过pyside2的小伙伴可以看主页代码效果...
- Python GUI开发:打包PySide2应用(python 打包pyc)
-
之前的文章我们介绍了怎么使用PySide2来开发一个简单PythonGUI应用。这次我们来将上次完成的代码打包。我们使用pyinstaller。注意,pyinstaller默认会将所有安装的pack...
- 使用PySide2做窗体,到底是怎么个事?看这个能不能搞懂
-
PySide2是Qt框架的Python绑定,允许你使用Python创建功能强大的跨平台GUI应用程序。PySide2的基本使用方法:安装PySide2pipinstallPy...
- pycharm中conda解释器无法配置(pycharm安装的解释器不能用)
-
之前用的好好的pycharm正常配置解释器突然不能用了?可以显示有这个环境然后确认后可以conda正在配置解释器,但是进度条结束后还是不成功!!试过了pycharm重启,pycharm重装,anaco...
- Conda使用指南:从基础操作到Llama-Factory大模型微调环境搭建
-
Conda虚拟环境在Linux下的全面使用指南:从基础操作到Llama-Factory大模型微调环境搭建在当今的AI开发与数据分析领域,conda虚拟环境已成为Linux系统下管理项目依赖的标配工具。...
- Python操作系统资源管理与监控(python调用资源管理器)
-
在现代计算环境中,对操作系统资源的有效管理和监控是确保应用程序性能和系统稳定性的关键。Python凭借其丰富的标准库和第三方扩展,提供了强大的工具来实现这一目标。本文将探讨Python在操作系统资源管...
- 本地部署开源版Manus+DeepSeek创建自己的AI智能体
-
1、下载安装Anaconda,设置conda环境变量,并使用conda创建python3.12虚拟环境。2、从OpenManus仓库下载代码,并安装需要的依赖。3、使用Ollama加载本地DeepSe...
- 一文教会你,搭建AI模型训练与微调环境,包学会的!
-
一、硬件要求显卡配置:需要Nvidia显卡,至少配备8G显存,且专用显存与共享显存之和需大于20G。二、环境搭建步骤1.设置文件存储路径非系统盘存储:建议将非安装版的环境文件均存放在非系统盘(如E盘...
- 使用scikit-learn为PyTorch 模型进行超参数网格搜索
-
scikit-learn是Python中最好的机器学习库,而PyTorch又为我们构建模型提供了方便的操作,能否将它们的优点整合起来呢?在本文中,我们将介绍如何使用scikit-learn中的网格搜...
- 如何Keras自动编码器给极端罕见事件分类
-
全文共7940字,预计学习时长30分钟或更长本文将以一家造纸厂的生产为例,介绍如何使用自动编码器构建罕见事件分类器。现实生活中罕见事件的数据集:背景1.什么是极端罕见事件?在罕见事件问题中,数据集是...
- 一周热门
- 最近发表
-
- Python Qt GUI设计:将UI文件转换Python文件三种妙招(基础篇—2)
- Connect 2.0来了,还有Nuke和Maya新集成
- Magicgui:不会GUI编程也能轻松构建Python GUI应用
- Python入坑系列:桌面GUI开发之Pyside6
- Python入坑系列-一起认识Pyside6 designer可拖拽桌面GUI
- pyside2的基础界面(pyside2显示图片)
- Python GUI开发:打包PySide2应用(python 打包pyc)
- 使用PySide2做窗体,到底是怎么个事?看这个能不能搞懂
- pycharm中conda解释器无法配置(pycharm安装的解释器不能用)
- Conda使用指南:从基础操作到Llama-Factory大模型微调环境搭建
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)