方法一,操控企业微信发送消息,条件:需要登录企业微信并置顶群聊

方法二,通过企业微信机器人发送消息,可以不用登录企业微信(推荐)

方法一代码如下:

import os
import time
import win32gui
import win32con
import win32api
import win32clipboard
import pyautogui as pag
from win32gui import IsWindow, IsWindowEnabled, IsWindowVisible, GetWindowText, EnumWindowsclass PaySend:"""付款申请,企业微信群发送消息"""_we_are_one = {}is_run = Falsedef __new__(cls, *args, **kwargs):""" 共享模式一 """self = object.__new__(cls, *args, **kwargs)self.__dict__ = cls._we_are_onereturn selfdef get_ct(self):""" 获取所有Windows打开的窗体 """titles = set()def foo(hwnd, mouse):# 去掉下面这句就能获取所有,但是我不需要那么多if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):titles.add(GetWindowText(hwnd))EnumWindows(foo, 0)return titlesdef sbdj(self, x, y, enter=False, txt=''):""" 操控剪贴板粘贴信息并发送 """win32api.SetCursorPos([x, y])  # 为鼠标焦点设定一个位置time.sleep(0.02)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)time.sleep(0.02)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)# win32api.keybd_event(0,0,win32con.KEYEVENTF_KEYUP,0)if txt:# 复制到剪切板win32clipboard.OpenClipboard()win32clipboard.EmptyClipboard()win32clipboard.SetClipboardText(txt)win32clipboard.CloseClipboard()# 按下ctrl+vwin32api.keybd_event(0x11, 0, 0, 0)win32api.keybd_event(0x56, 0, 0, 0)win32api.keybd_event(0x56, 0, win32con.KEYEVENTF_KEYUP, 0)win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)if enter:# 按下回车键time.sleep(0.05)# win32api.keybd_event(32, 0, 0, 0)# time.sleep(1)# win32api.keybd_event(32, 0, win32con.KEYEVENTF_KEYUP, 0)win32api.keybd_event(13, 0, 0, 0)win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)def send_mess(self, txt):""" 发送消息 """c = 1while self.is_run:  # 如果正在执行,等待time.sleep(4)c += 1if c > 100:breakself.is_run = Truetry:title = '企业微信'# if title not in self.get_ct():#     os.startfile(r'D:\Program Files (x86)\WXWork\WXWork.exe')#     time.sleep(5)x, y = pag.position()  # 原来鼠标坐标win = win32gui.FindWindow(None, title)  # 获取标题名称为title的句柄win2 = win32gui.GetForegroundWindow()  # 获取当前窗口句柄while win == 0:  # 如果没有启动企业微信,启动os.startfile(r'D:\Program Files (x86)\WXWork\WXWork.exe')time.sleep(10)win = win32gui.FindWindow(None, title)c += 1if c > 100:break# 如果title窗体正在作业,等待while win == win2:  # 当然当前正在企业微信会话工作,则等待time.sleep(3)win2 = win32gui.GetForegroundWindow()  # 获取当前窗口句柄c += 1if c > 100:breakwin32gui.SetForegroundWindow(win)  # 前台显示win32gui.ShowWindow(win, win32con.SW_MAXIMIZE)  # 最大化self.sbdj(150, 82, enter=False, txt='')time.sleep(0.02)self.sbdj(468, 966, enter=True, txt=txt) win32gui.CloseWindow(win)  # 最小化# 为鼠标还原到原来的坐标win32api.SetCursorPos([x, y])win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)# win32gui.CloseWindow(win)  # 最小化except Exception as e:print('执行错误')finally:self.is_run = Falseif __name__ == '__main__':sname = '群成员名称'txt = f"@{sname} 您有新的消息"pay = PaySend()pay.send_mess(txt)

方法二代码如下:

import requestsdef send_txt():""" 文本消息 """headers = {"Content-Type": "text/plain"}send_url = "机器人的webhook地址"send_data = {"msgtype": "text",  # 消息类型"text": {"content": "您有新的消息",  # 文本内容,最长不超过2048个字节,必须是utf8编码# "mentioned_list": ["@all"],# userid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_list"mentioned_mobile_list": ["13812891678"]  # 手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人}}res = requests.post(url=send_url, headers=headers, json=send_data)print(res.text)def send_markdown():""" markdown类型消息 """headers = {"Content-Type": "text/plain"}send_url = "机器人的webhook地址"send_data = {"msgtype": "markdown",  # 消息类型,此时固定为markdown"markdown": {"content": "<@userid> [您有新的消息](http://www.xxx.com/info)",}}res = requests.post(url=send_url, headers=headers, json=send_data)print(res.text)

Python 企业微信群推送消息相关推荐

  1. PowerShell 实现企业微信机器人推送消息

    前言企业微信机器人 在ARMS告警管理中创建企业微信机器人后,您可以在通知策略中指定对应的企业微信群用于接收告警.当通知策略的匹配规则被触发时,系统会自动向您指定的企业微信群发送告警通知.企业微信群收 ...

  2. 企业微信机器人推送mysql_Zabbix.5.0设置企业微信群机器人推送告警信息

    一.企业微信端配置 1.创建微信群机器人 在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择"添加群机器人",设置机器人名称,系统自动生成此机器人的webho ...

  3. js版微信测试号推送消息、生日、纪念日、网易云热评、舔狗日记【JavaScript版】保姆级教程 青龙面板做微信测试号推送生日、纪念日

    文章目录 微信测试号推送消息 一.申请微信测试号 二.下载nodeJs 1.下载安装包 2.检查是否安装成功 三.设置测试号发送信息的模板 四.编写发送消息代码(必须装好nodeJs) 1.编写代码 ...

  4. MeterSphere实现“机器人定时在企业微信群中发送消息”功能

    背景 之前有过用PowerShell实现"机器人定时在企业微信群中发送消息"功能,并有输出相关教程. 但发现有一些问题:比如电脑关机了导致任务不能如期启动,于是在摸索中找到可替代P ...

  5. PowerShell实现“机器人定时在企业微信群中发送消息”功能(下)

    本章实现 由于篇幅较多,会拆分为上.下两部分来写. 本章实现: 06.机器人定时在企业微信群中发送消息功能 上章实现 01.如何在企业微信中添加群机器人 02.简单用机器人发送一条消息(postman ...

  6. PowerShell实现“机器人定时在企业微信群中发送消息”功能(上)

    本章实现 由于篇幅较多,会拆分为上.下两部分来写. 本章实现: 01.如何在企业微信中添加群机器人 02.简单用机器人发送一条消息(postman实现) 03.powershell打开 04.简单用机 ...

  7. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  8. python、C# 写企业微信机器人推送【图文消息】

    企业微信机器人发送图文消息(基础版) 使用工具 进入代码模式 1. 引入 2. 发送方式 3. 发送到企业微信机器人步骤 3. 总代码 C#写法 看下效果图: 代码展示 使用工具 突然来兴趣搞了个机器 ...

  9. 【python】13行代码教你实现对微信进行推送消息

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ Python居然可以实现给QQ邮箱.企业微信.微信等等软件推送消息!! 那么今天咱们就来实现一下Python直接给微信推送消息 ...

最新文章

  1. 自动驾驶中的计算机视觉
  2. 【Groovy】闭包 Closure ( 闭包定义 | 闭包类型 | 查看编译后的字节码文件中的闭包类型变量 )
  3. 怎么通俗易懂地解释贝叶斯网络和它的应用?
  4. linux后台开发具备能力集锦
  5. 文件和目录:access函数
  6. JDBC 常用的类和接口--一学就会(欢迎转载)
  7. Pycharm中配置.ui转.py文件;.qrc文件转.py文件和Qtcreator
  8. Win10正式版激活方法有哪些?如何激活Win10?
  9. 手机连接hp打印机打印
  10. 计算机网络之TCP中11种状态
  11. 威廉玛丽学院计算机专业好吗,威廉玛丽学院计算机科学研究生最新专业排名
  12. wx_xcx_api.php,GitHub - biangbiang/wxpay-php: php项目基于微信支付JS SDK和JS API的接入开发...
  13. Myeclipse反向工程后造成的SQL syntax
  14. 英特尔携手浪潮、锐捷网络和Silicom,构建强大的IPU生态系统
  15. VSCODE 关闭文件和资源管理器关联
  16. 读书笔记:《自卑与超越》
  17. 详解校招算法与数据结构
  18. 【附源码】计算机毕业设计SSM物料追溯系统
  19. Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)
  20. 每天学点5G-5G UDM

热门文章

  1. Elementui自定义Pagination 上一页下一页使用按钮
  2. mysql查询查询树结构,通过树结构查询一个自己昵称和父级节点的昵称
  3. android app的安装和android app的卸载
  4. 用户行为分析模型——漏斗分析模型(转化率)
  5. FDT设备树(dts)和CCF框架
  6. C++和MATLAB混合编程——初始化mwArray失败解决方法!
  7. wd5000lplx做服务器系统盘,孤独的2.5HDD王者,西数黑盘WD5000LPLX
  8. iOS Pages插入方程功能分析
  9. normalization对比
  10. 机器学习中集成学习的一些知识