首页 > 编程语言 >python 发送微信消息

python 发送微信消息

时间:2023-05-25 22:13:36浏览次数:33  
标签:pyautogui name ctrl python 微信 self messages 发送 section

python 自动化,可以模拟键盘输入,因此,可以控制微信,发送消息,代码如下:

 1 import sys
 2 import pyautogui
 3 import pyperclip
 4 import time
 5 import configparser
 6 
 7 """
 8 安装依赖:
 9 pip install pyautogui pyperclip pyinstaller
10 
11 打包成 exe:
12 pyinstaller --onefile wx.py
13 
14 用法: wx.exe 用户备注名 消息1  消息2 ... 消息N
15 示例: wx.exe 张三  在吗?   周末有空吗?   出来喝酒呀!
16 
17 
18 """
19 class Wx:
20 
21     """ python 在类中,方法名和属性名不能同名这里,用属性用大写,方法用小写 """
22 
23     def __init__(self, name = ''):
24         self.Name = name
25 
26     def name(self, name):
27         self.Name = name
28         return self
29 
30     def config(self, file, section = '', encoding='utf-8'):
31         """
32         读取ini 配置文件
33 
34         ; config.ini 方法示例
35         [db] ; 这是一个 section
36         host = 127.0.0.1
37         port = 3306
38 
39         [redis] ; 这又是一个 section
40         host = localhost
41 
42         """
43 
44         # 创建配置文件对象
45         self.Config = configparser.ConfigParser()
46         self.Config.read(file, encoding)
47         return self
48 
49 
50     def section(self, section = ''):
51         if not section:
52             # 获取所有section
53             return self.Config.sections()
54 
55         return dict(self.Config.items(section))
56 
57 
58     def send(self, messages = "你好"):
59         if not self.Name:
60             print("接收者名称为空!")
61             sys.exit(1)
62 
63         pyautogui.hotkey('ctrl', 'alt', 'w')    # ctrl + alt + w 打开微信
64         pyautogui.hotkey('ctrl', 'f')           # 打开查找
65         pyperclip.copy(self.Name)               # 复制好友昵称到粘贴板
66         pyautogui.hotkey('ctrl', 'v')           # 模拟键盘 ctrl + v 粘贴
67         time.sleep(1)
68         pyautogui.press('enter')                # 回车进入好友消息界面
69 
70         if not isinstance(messages, list):
71             messages = [messages]
72 
73         for msg in messages:
74             pyperclip.copy(msg)             # 复制需要发送的内容到粘贴板
75             pyautogui.hotkey('ctrl', 'v')   # 模拟键盘 ctrl + v 粘贴内容
76             pyautogui.press('enter')        # 发送消息
77             time.sleep(1)    # 每条消息间隔 1 秒
78 
79         return self
80 
81 
82 
83 
84 if __name__ == '__main__':
85 
86     if len(sys.argv) < 3: # 当缺少必要参数时
87         input = input("请输入备注名和待发送多条消息(以空格分割):").split()
88         name = input[0]
89         messages = input[1:]
90     else:
91         name = sys.argv[1]
92         messages = sys.argv[2:]
93 
94 
95     Wx().name(name).send(messages)
96 
97     # 测试读取配置文件
98     # print(Wx().config('config.ini').section("db"))

 

标签:pyautogui,name,ctrl,python,微信,self,messages,发送,section
From: https://www.cnblogs.com/zbseoag/p/17433105.html

相关文章

  • 微信小程序授权登录
    需要的数据库字段:openid,nickName,session_key 需要Token,去官网现在jwt的扩展JSONWebTokenLibraries-jwt.io在app下面创建一个server目录接着新建一个Token类下面是封装Token的代码<?phpnamespaceApp\server;useFirebase\JWT\JWK;useFirebase\JWT\JWT;class......
  • 表格编辑时,根据这一行弹出层显示编辑界面,点击保存时发送请求,请求成功保存好数据到表达
    这是一个网上的列子,一表格,点击编辑时弹出层编辑这一行,点击保存时送请求的完整示例:<template><div><el-table:data="tableData"style="width:100%"><el-table-columnprop="name"label="姓名"></el-table-column>......
  • python 格式化代码
    安装pre-commitsudoaptinstallpre-commit-yrepos:-repo:https://github.com/python/blackrev:23.3.0hooks:-id:blacklanguage_version:python3exclude:src/ratel/potargs:["--line-length","18......
  • python计算余弦相似性和汉明距离
    要使用矩阵相乘来计算7个二进制编码之间的余弦相似性,我们需要先将二进制编码转换为数值向量。对于每个二进制编码,我们可以将0映射为-1,将1映射为1,从而得到一个数值向量。然后,我们可以将这些数值向量表示为一个矩阵,并进行矩阵相乘来计算余弦相似性。以下是一个示例代码,使用Python和......
  • jrtplib 视频数据发送异常分析记录
    场景之前国标服务推流无人机视频运行一直正常,下午时候只能抓包到信令交互的过程,wireshark没有抓包到视音频数据包排查1怀疑是国标没有收到流媒体转发过来的视音频数据流,导致国标服务无法转发视音频排除:国标日志文件显示已经收到流媒体转发过来的视音频数据流排查2怀疑是国标收到的......
  • Python竖版大屏2 | 用pyecharts开发可视化的奇妙探索!
    目录1、SHINE主题2、LIGHT主题3、MACARONS主题4、INFOGRAPHIC主题5、WALDEN主题6、WESTEROS主题7、WHITE主题8、WONDERLAND主题你好!我是@马哥python说,一名10年程序猿,正在试错用pyecharts开发可视化大屏的非常规排版。以下,我用8种ThemeType展示的同一个可视化数据大屏,可视化主题......
  • python试题
    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20. 程序题1    程序题2     附加题        一、选择题每题4分1.关于二进制,八进制,十进制,十六进制的表示方......
  • Python集合 (set) 的增删改查及 copy()方法
    集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:1、去重,把一个列表变成集合,就自动去重了。2、关系测试,测试两组数据之前的交集、差集、并集等关系。一、集合的创建set1=set({1,2......
  • Hello World II - python垂直输出Hello World
    描述垂直输出"HelloWorld",全部代码不超过2行。 输入无输出Hello Worldstr="HelloWorld"fornameinstr[:]:print(name)修改:开始没看到要求不超过两行,正确代码为:fornamein"HelloWorld":print(name)题目来源:python123.io......
  • Python基础之字符编码和文件类型
    字符编码什么事字符编码?什么是字符编码?人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等,而计算机只能识别二进制。所以就产生了字符编码'''字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。字符编......