Python 企业微信群推送消息
方法一,操控企业微信发送消息,条件:需要登录企业微信并置顶群聊
方法二,通过企业微信机器人发送消息,可以不用登录企业微信(推荐)
方法一代码如下:
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 企业微信群推送消息相关推荐
- PowerShell 实现企业微信机器人推送消息
前言企业微信机器人 在ARMS告警管理中创建企业微信机器人后,您可以在通知策略中指定对应的企业微信群用于接收告警.当通知策略的匹配规则被触发时,系统会自动向您指定的企业微信群发送告警通知.企业微信群收 ...
- 企业微信机器人推送mysql_Zabbix.5.0设置企业微信群机器人推送告警信息
一.企业微信端配置 1.创建微信群机器人 在需要接收告警信息的企业微信群上右键(注意群里成员至少要3人以上),选择"添加群机器人",设置机器人名称,系统自动生成此机器人的webho ...
- js版微信测试号推送消息、生日、纪念日、网易云热评、舔狗日记【JavaScript版】保姆级教程 青龙面板做微信测试号推送生日、纪念日
文章目录 微信测试号推送消息 一.申请微信测试号 二.下载nodeJs 1.下载安装包 2.检查是否安装成功 三.设置测试号发送信息的模板 四.编写发送消息代码(必须装好nodeJs) 1.编写代码 ...
- MeterSphere实现“机器人定时在企业微信群中发送消息”功能
背景 之前有过用PowerShell实现"机器人定时在企业微信群中发送消息"功能,并有输出相关教程. 但发现有一些问题:比如电脑关机了导致任务不能如期启动,于是在摸索中找到可替代P ...
- PowerShell实现“机器人定时在企业微信群中发送消息”功能(下)
本章实现 由于篇幅较多,会拆分为上.下两部分来写. 本章实现: 06.机器人定时在企业微信群中发送消息功能 上章实现 01.如何在企业微信中添加群机器人 02.简单用机器人发送一条消息(postman ...
- PowerShell实现“机器人定时在企业微信群中发送消息”功能(上)
本章实现 由于篇幅较多,会拆分为上.下两部分来写. 本章实现: 01.如何在企业微信中添加群机器人 02.简单用机器人发送一条消息(postman实现) 03.powershell打开 04.简单用机 ...
- python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...
在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...
- python、C# 写企业微信机器人推送【图文消息】
企业微信机器人发送图文消息(基础版) 使用工具 进入代码模式 1. 引入 2. 发送方式 3. 发送到企业微信机器人步骤 3. 总代码 C#写法 看下效果图: 代码展示 使用工具 突然来兴趣搞了个机器 ...
- 【python】13行代码教你实现对微信进行推送消息
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ Python居然可以实现给QQ邮箱.企业微信.微信等等软件推送消息!! 那么今天咱们就来实现一下Python直接给微信推送消息 ...
最新文章
- 自动驾驶中的计算机视觉
- 【Groovy】闭包 Closure ( 闭包定义 | 闭包类型 | 查看编译后的字节码文件中的闭包类型变量 )
- 怎么通俗易懂地解释贝叶斯网络和它的应用?
- linux后台开发具备能力集锦
- 文件和目录:access函数
- JDBC 常用的类和接口--一学就会(欢迎转载)
- Pycharm中配置.ui转.py文件;.qrc文件转.py文件和Qtcreator
- Win10正式版激活方法有哪些?如何激活Win10?
- 手机连接hp打印机打印
- 计算机网络之TCP中11种状态
- 威廉玛丽学院计算机专业好吗,威廉玛丽学院计算机科学研究生最新专业排名
- wx_xcx_api.php,GitHub - biangbiang/wxpay-php: php项目基于微信支付JS SDK和JS API的接入开发...
- Myeclipse反向工程后造成的SQL syntax
- 英特尔携手浪潮、锐捷网络和Silicom,构建强大的IPU生态系统
- VSCODE 关闭文件和资源管理器关联
- 读书笔记:《自卑与超越》
- 详解校招算法与数据结构
- 【附源码】计算机毕业设计SSM物料追溯系统
- Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)
- 每天学点5G-5G UDM