-
2020-11-21 02:33:21
python代码:
import itchat
import time
itchat.auto_login(hotReload=True)
AutoList = ["",""]#需要发送消息的好友,可以不止一个
message = ""#需要发送的消息
path = ""#需要发送图片的位置
while True:
time_now = time.strftime("%H:%M:%S", time.localtime()) # 刷新
if time_now == "21:43:00": #此处设置每天定时的时间
for i in AutoList :
user2 = itchat.search_friends(name=i)
userName = user2[0]['UserName']
itchat.send(message,userName)
itchat.send_file(path,userName)
time.sleep(1)
itchat.run()
python中的itchat库就可以,能够实现自动拉人进群聊,可以设置定时消息,自动聊天或设置自动回复等等。具体可以去网上找,推荐一个github上的项目:https://github.com/sfyc23/EverydayWechat
更多相关内容 -
Python3 itchat实现微信定时发送群消息的实例代码
2020-09-19 02:19:01使用微信,定时往指定的微信群里发送指定信息。接下来通过本文给大家分享Python3 itchat实现微信定时发送群消息的实例代码,需要的朋友可以参考下 -
微信定时自动发消息。每天和你的obj准时说晚安
2019-04-30 15:34:32微信脚本自动发消息 即将还有几个小时放假,约朋友一起玩,灵光一闪,能不能写个微信自动发消息来提醒朋友的插件呢。尝试了一下。结果可行 如果对你有帮助麻烦给个赞,鼓励一下。话不多说,贴代码 var appElement = ...微信脚本自动发消息
即将还有几个小时放假,约朋友一起玩,灵光一闪,能不能写个微信自动发消息来提醒朋友的插件呢。尝试了一下。结果可行
如果对你有帮助麻烦给个赞,鼓励一下。话不多说,贴代码var appElement = document.querySelector('[ng-controller=chatSenderController]'); var $scope = angular.element(appElement).scope(); setInterval(function(){ var nowLocalTime = new Date(); var nowTime = nowLocalTime.toLocaleTimeString(); var s = nowLocalTime.getSeconds(); var h = nowLocalTime.getHours(); var m = nowLocalTime.getMinutes() var sh = 17 - h if(sh >= 0){ sh = sh+"小时" }else{ sh = "" } var sm = 60 - m; if(sm == "0"){ sm = "" }else{ sm = sm +"分钟" } var ss = 60 - s if(ss == "0"){ ss = "" } else { ss = ss + "秒" } // if(s == "0"){//此为一分钟一次 console.log() $scope.editAreaCtn = "现在是"+nowTime+"距离五一放假还剩" +sh + sm + ss ; $scope.sendTextMessage(); // } },1000)
如何使用
- 登陆网页版微信
- 选择你要轰炸的对象
- 鼠标右键 打开控制台
- 选择console 选项
- 在下方空白处粘贴代码。
- 回车确定
-
QQ微信定时自动发布消息工具附加源码.zip
2020-05-02 18:03:04因工作需要每小时签到,特意做了个定时发送的程序。需要单独窗口使用,把获取发送窗口拖拽到需要发送的窗口,添加发送的内容。理论支持所有聊天窗口。 -
微信消息 多格式内容 定时自动 仿真发送助手
2021-12-12 16:05:13定的微信程序的消息窗口独立打开也是仅针对指定消息窗口的自动发送而 不会对其它消息窗口产生影响,软件在自动发送消息时候会将指定的微信 程序消息窗口进行最小化操作,自动发送消息完全是隐蔽情况下模拟人为 操作... -
python操作微信自动发消息的实现(微信聊天机器人)
2020-09-16 12:38:13主要介绍了python操作微信自动发消息(微信聊天机器人),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
(微信定时发送消息)一个java文件,完成可配置的微信定时发送消息任务
2021-12-24 10:58:39一个java文件,完成可配置的微信定时任务需求来源
当我们再日常工作中,需要每日定时的发送群消息,时间太早的话不想起来,想着可以用java显示定时发送消息的任务.在睡梦中让程序帮我们定时发送消息
功能介绍
定时生日祝福、每日早安、晚安问候
- 检测微信是否再后台运行
- 指定每天多个时间段发送可配置的消息
- 发送图片
- 每个时间段给多个人发送多个消息
- 设置间隔时间(如:两天发一次,一天发一次,每秒发一次)
代码如下
import javax.imageio.ImageIO; import java.awt.*; import java.awt.datatransfer.*; import java.awt.event.KeyEvent; import java.io.*; import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.List; import java.util.*; /** * @Author: xu * @Description: 开启定时任务,指定时间,间隔给微信好友发送文本或图片 * @Date: 2021/12/20 20:28 */ public class TimerTask { // 设置定时任务区间,每隔一天发一次 private static final Long SECTION = (long) (24 * 60 * 60 * 1000); public static void main(String[] args) throws Exception { System.out.println("任务执行时间,请保证微信在登录状态并为最小化..."); int weChat = queryProcessCount("WeChat"); if (weChat<=0){ System.err.println("请登陆微信后再尝试运行"); return; } int year = LocalDateTime.now().getYear(); int month = LocalDateTime.now().getMonthValue(); int day = LocalDateTime.now().getDayOfMonth(); //任务默认从今天开始 List<String> resource = getResouce(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 遍历某个时间段需要做的事情 for (String todo : resource) { String[] item = todo.split(" "); String formatData = year+"-"+month+"-"+day+" "+item[0]+":00"; Date firstData = simpleDateFormat.parse(formatData); List<Map<String,String>> sendData = new ArrayList<>(); String[] sends = todo.split(";"); int i = 0; for (String send : sends) { Map<String,String> map = new HashMap<>(); List<String> strings = Arrays.asList(send.split(" ")); if (i==0){ map.put("receive",strings.get(1)); map.put("content",strings.get(2)); }else { map.put("receive",strings.get(0)); map.put("content",strings.get(1)); } sendData.add(map); i++; } createTask(firstData,sendData); } } private static int queryProcessCount(String processName) throws IOException { int count = 0; Runtime runtime = Runtime.getRuntime(); List<String> tasklist = new ArrayList<>(); Process process = runtime.exec("tasklist"); BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); String s; while ((s = br.readLine()) != null) { if ("".equals(s)) { continue; } tasklist.add(s); } for (String taskName : tasklist) { if (taskName.contains(processName)){ count++; } } return count; } private static void createTask(Date firstData,List<Map<String,String>> sendData){ if (firstData.getTime()-System.currentTimeMillis()<0){ // 让错过的时间延后配置的间隔时间执行 firstData = new Date(firstData.getTime()+SECTION); } new Timer().scheduleAtFixedRate(new java.util.TimerTask() { @Override public synchronized void run() { try { openWeChat(); for (Map<String, String> sendDatum : sendData) { sendMsg(sendDatum.get("receive"),sendDatum.get("content")); Thread.sleep(500); } closeWeChat(); } catch (Exception e) { e.printStackTrace(); } } },firstData.getTime() - System.currentTimeMillis(),SECTION); } public static void setSysClipboardFile(String imageUrl) throws IOException { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); if (imageUrl.contains("\\")){ imageUrl = imageUrl.replace("\\","/"); } imageUrl = imageUrl.replace("img(",""); imageUrl = imageUrl.substring(0, imageUrl.length() - 1); Image image = ImageIO.read(new File(imageUrl)); Transferable trans = new Transferable() { @Override public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { if (isDataFlavorSupported(flavor)) { return image; } throw new UnsupportedFlavorException(flavor); } @Override public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.imageFlavor }; } @Override public boolean isDataFlavorSupported(DataFlavor flavor) { return DataFlavor.imageFlavor.equals(flavor); } }; clip.setContents(trans, null); } public static void setSysClipboardText(String writeMe) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable tText = new StringSelection(writeMe); clip.setContents(tText, null); } private static void openWeChat() throws AWTException { Robot robot = RobotManager.getInstance(); // robot.keyPress(KeyEvent.VK_WINDOWS); // robot.keyPress(KeyEvent.VK_D); // robot.keyRelease(KeyEvent.VK_WINDOWS); // robot.keyRelease(KeyEvent.VK_D); // 先使用win+D快捷键保证微信为最小化状态,再使用微信默认快捷键打开微信nihao2 robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_W); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_ALT); robot.keyRelease(KeyEvent.VK_W); robot.delay(100); } /** * 发送消息 * @param receive 接收消息者 * @param msg 消息内容 */ private static void sendMsg(String receive,String msg) throws Exception { Robot robot = RobotManager.getInstance(); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_F); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_F); inputEnter(receive); inputEnter(msg); } private static void closeWeChat() throws AWTException { Robot robot = RobotManager.getInstance(); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_W); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_ALT); robot.keyRelease(KeyEvent.VK_W); } private static void inputEnter(String msg) throws Exception { Robot robot = RobotManager.getInstance(); if (msg.contains("img(")){ setSysClipboardFile(msg); }else { setSysClipboardText(msg); } robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_V); robot.delay(1000); robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); robot.delay(500); } public static class RobotManager{ private static Robot robot; public static Robot getInstance() throws AWTException { if (robot==null){ robot = new Robot(); } return robot; } } public static List<String> getResouce() throws Exception { StringBuilder result = new StringBuilder(); //读取桌面Txt文件,桌面路径与文件名根据需要修改 FileReader reader = new FileReader("C:\\Users\\xjt\\Desktop\\sendmag.txt", StandardCharsets.UTF_8); BufferedReader br = new BufferedReader(reader); String temp; while((temp = br.readLine())!=null){//使用readLine方法,一次读一行 result.append(temp); } br.close(); reader.close(); return Arrays.asList(result.toString().split("\\*")); } }
配置信息
需要用到的桌面文本文件配置信息内容
11:14 接收者名称 发送内容;xjt(接收者名称) img(C:\Users\Hasee\Desktop\checkcode.jpg);文件传输助手 内容* 11:15 xjt nihao2* 11:16 xjt nihao3
配置文件分析
配置符号由代码中定义。可根据需要进行修改优化
*
:当前时间运行任务结束符,最后一个任务不需要结束符
;
:每个任务的间隔符
空格
:时间与接受者名称与内容的分隔符
img()
:当内容为图片时指定的图片本地绝对地址使用方式
- 复制上述代码内容为一个名为
TimerTask.java
文件 - 修改文件中,当前环境配置文件指定地址
执行编译运行命令
编译
javac -encoding UTF-8 TimerTask.java
开始运行
java TimerTask
或者直接在ide开发工具中运行
注:
在jdk11版本之前getResouce静态方法中有一个api是不支持的。可以将getResouce静态方法替换如下。
public static List<String> getResouce() throws Exception { StringBuilder result = new StringBuilder(); FileInputStream fis = new FileInputStream("C:\\Users\\25842\\Desktop\\sendmsg.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(fis, StandardCharsets.UTF_8)); String line; while ((line = br.readLine()) != null) { result.append(line); } fis.close(); return Arrays.asList(result.toString().split("\\*")); }
-
微信定时自动发送群消息的小工具-python-itchat
2018-06-13 15:56:42- itchat提供微信API接口,实现进行向群组发送消息; - apscheduler提供定时器功能。 代码下载请到我的github仓库。 设计目的 最开始只是想能不能做一个程序,可以定时在周二,四,六晚上10点半提醒组员们上传...摘要
本程序实现定时向指定微信群发送指定消息的功能。
主要工具如下:
- python2.7编写;
-itchat
提供微信API接口,实现进行向群组发送消息;
-apscheduler
提供定时器功能。
代码下载请到我的github仓库。设计目的
最开始只是想能不能做一个程序,可以定时在周二,四,六晚上10点半提醒组员们上传日志,所以就开始了搜索。发现
itchat
这个超级好用的工具,在apscheduler
的加持下最终编了这么一个程序。灵感总是来源于生活….当然
itchat
的功能远不止是发送个群消息而已,它提供的微信API接口还可以做很多有意思的东西,比如最常见的机器人自动回复,还可以接入其他应用程序接口用微信号做一些小应用(如自动播放歌曲,返回天气信息等)。依赖条件
Written in python2.7.12:
-itchat
1.3.10
-APScheduler
3.5.1功能描述
定义文件中的发送时间
time
,发送群组名roomName
,发送消息context
(消息中含中文字符时应该使用unicode编码)。
运行后会在time
对应时间,往roomName
对应群组,发送context
对应的消息。使用方法
- 修改
onTimeMsgSenderToChatroom.py
文件中的time
,roomName
,context
设置为自己需要的参数。具体参考如下:
roomName = u'两张王' context=u'该消息由程序自动发送' time = {'day_of_week':'*','hour':12,'minute':34,'second':26}
- 运行
python onTimeMsgSenderToChatroom.py
; - 扫描QR码,自动登陆成功后,等待信息自动发送即可。
示例
以下是用按照上述设置运行源代码向微信群发送的消息的截图。
源代码
需要下载请到我的github。
# -*- coding:utf-8 -*- import itchat from datetime import datetime from apscheduler.schedulers.blocking import BlockingScheduler class onTimeSender(object): ''' Automatically send message to chatroom on time according to user's predefinition. params: `roomName`: The name of chatroom you want to send message to; `context`: The message you want to send to chatroom; `time`: Time to send out message, in form of a dict. Usage: Please refer to the __main__ function part. ''' def __init__(self,roomName='',context='',time={}): self.roomName=roomName self.context=context self.time=time itchat.auto_login(hotReload=True,loginCallback=self.loginCallback,exitCallback=self.exitCallback) self.schedulerForSender() def sendChatroomMsg(self,roomName,context): itchat.get_chatrooms(update=True) roomNickName = roomName candidates = itchat.search_chatrooms(roomNickName) print candidates username = '' for candidate in candidates: if candidate['NickName'] == roomNickName: username = candidate['UserName'] break if username: sendtime = datetime.now().strftime('%A %B %d,%Y')#Tue June 08,2018 sendtime = datetime.now().strftime('%m-%d-%Y %H:%M:%S,%A') msg = context + "Sending in "+sendtime print "Ready to send message to group %s,message as follows : \n%s"%(roomName,msg) itchat.send_msg(msg=msg,toUserName=username) def loginCallback(self): print "Successfully logged in." def exitCallback(self): print "Successfully logged out." def sendMsgToChatRoom(self): self.sendChatroomMsg(self.roomName,self.context) def schedulerForSender(self): # scheduler setup scheduler = BlockingScheduler() scheduler.add_job(self.sendMsgToChatRoom,'cron',day_of_week=self.time['day_of_week'],hour=self.time['hour'],minute=self.time['minute'],second=self.time['second'])# sending takes 4 seconds behind scheduler.start() if __name__=='__main__': roomName = 'DVS_Group' context = u'通知上传日志' time = {'day_of_week':'tue,thu,sat','hour':22,'minute':24,'second':56} '''for testing roomName = u'两张王' context=u'该消息由程序自动发送' time = {'day_of_week':'*','hour':12,'minute':34,'second':26} ''' onTimeSender(roomName,context,time)
参考文献
- 修改
-
【Python 项目】02 微信定时发送消息
2022-05-14 18:44:10Python:微信定时发送消息 -
Python开发企业微信机器人每天定时发消息实例
2020-09-17 17:17:10主要介绍了Python开发企业微信机器人每天定时发消息实例,需要的朋友可以参考下 -
【自动群发小助手】微信也能定时发送消息?过年终于不用熬夜守点发祝福了~
2022-02-09 11:38:03**文章简介 **:本篇文章主要讲解利用itchat实现一个自动群发祝福语的效果啦。 ???? **文章源码获取 **: 为了感谢每一个关注我的小可爱????每篇文章的项目源码都是无偿分 享滴???????????????????? 点这里蓝色... -
利用python在微信中实现一个定时发送消息的功能
2021-04-26 19:26:07利用python在微信中实现一个定时发送消息的功能发布时间:2020-11-25 14:33:47来源:亿速云阅读:92作者:Leah今天就跟大家聊聊有关利用python在微信中实现一个定时发送消息的功能,可能很多人都不太了解,为了让... -
Java实现微信每天定时发送消息2.0 -- 柚子真好吃
2022-06-27 16:03:35Java实现微信定时发消息 -
Python开发 之 企业微信机器人每天定时发消息实例
2020-12-22 13:44:24由于办公需要“每天定时推送某消息用来提醒群里面所有人”,于是决定用企业微信自带的机器人来实现此功能。具体方法我来一一讲述。 2、企业微信API 具体见官网说明:... -
微信自动发送消息
2021-01-19 20:15:11利用Python调用win32库操作微信窗口句柄定时发送消息文本的发送表格的发送 首先,定时发送消息,一般发送内容主要包括文本、表格和图像。因此本文主要讲解文本、表格和图像发送 文本的发送 发送文本,主要是将文字... -
python实现给微信指定好友定时发送消息
2020-12-31 17:01:29python有很多有趣的库,其中wxpy是连接微信的接口,具体可以查看官方文档。可以实现自动操作,wxpy 支持 Python 3.4-3.6,以及 2.7 版本。 一、安装 win10环境,直接在cmd中,输入 pip install wxpy 有时网络不... -
如何实现微信自动发送消息?
2021-03-15 21:13:41《锤锤微信定时后台发送消息V1.0》使用教程:首先登陆电脑版微信,打开锤锤微信定时后台发送消息的工具微商必备软件利器然后分别获取我们需要发送是文字消息,图片消息(还可以是音乐文件,程序,文档,动图,视频等)... -
25行代码实现定时自动发送微信消息!
2020-11-02 15:11:28Hi~ o( ̄▽ ̄)ブ 我又双叒叕来啦~ 等你很久啦~ NOTE:楼主 11岁女学生,文笔(排版风格)不好别介意啦~ 今天嘛....是个特别的日子---我哥们儿的12岁生日!...定时自动发送微信消息的程序!!! Emmm. -
python实现企业微信定时发送文本消息!下班自动提交,老板直夸我敬业!
2020-11-25 16:39:43企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人。 建立群机器人后,右键查看机器人,如下 ... -
Python实现企业微信机器人每天定时发消息实例
2020-09-17 20:43:32主要介绍了Python实现企业微信机器人每天定时发消息实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
企业微信机器人定时发送信息
2022-05-11 13:33:39企业微信可以配置机器人,提升办公效率,还能实现一键群发和定时发送等功能。 -
Python实现--使用微信定时每天和女友发送定制消息(附代码教程)
2018-08-07 21:36:06这里想分享如何每天给女友定时微信发送”晚安“,如果只是晚安,就略显单调,于是爬取金山词霸每日一句,英文和翻译,借此设定定时器进行发送。 准备: pip install wxpy pip install requests 实现代码: ... -
实现企业微信机器人自动发消息
2021-01-31 20:38:48起因:每次发布版本都要再打开微信去艾特对应的负责人,这一步挺机械的,看到运维群有机器人自动发消息,查了下有开放API可自定义消息。https://work.weixin.qq.com/api/doc/90000/90135/90239 ''' Date: 2021-01-... -
基于Python实现定时自动给微信好友发送天气预报
2020-09-20 00:45:28主要介绍了基于Python实现定时自动给微信好友发送天气预报的实现代码,,需要的朋友可以参考下 -
实现微信定时发送消息解决工作订餐的问题
2021-08-22 07:43:18需要用到微信win端,使用vb语言- >编码->任务定时器 本人观看其他博主https://blog.csdn.net/qq_41311259/article/details/118482555制作的vb脚本有点bug代码并不能直接运行,本教程可以直接运行 Dim name,... -
微信自动发消息机器人实现方法
2021-02-07 16:02:12微信自动发消息机器人实现方法 1.打开 浏览器; 2.访问微信网页版,并扫描登录; 3.在左侧找到该联系人,选中后对话,右侧会显示进入聊天窗口; 4.把你要发的内容写在输入框内,恩,不要点「发送(Send)」; 5.... -
vbs实现微信自动发送消息功能
2021-09-12 21:16:35vbs实现微信自动发送消息功能 欢迎使用Markdown编辑器 On Error Resume Next Dim wsh,ye set wsh=createobject(“wscript.shell”) for i=1 to 20 wscript.sleep 700 wsh.AppActivate(“无感”) 'QQ或微信聊天窗口... -
微信小程序订阅消息定时发送消息
2022-01-28 21:10:20微信小程序订阅消息定时发送消息 本人专注使用云开发,实现一个前端可以做后端以及整个项目的部署与上线。 如果觉得我讲的好就可以给我点个赞。也可以加我微信了解详情。 1.我们先要了解什么是订阅消息 而现在小...