精华内容
下载资源
问答
  • 微信定时发送消息
    千次阅读
    2017-11-13 14:38:00

    偶然想到如果以后忙于工作无暇社交,是否可以在微信上写一个脚本进行定时消息发送,通过查找资料找到一种简单的解决方案,应用此方案可以实行对指定用户的单方面定时消息发送

    1.登录微信网页版
    2.选择对应的联系人
    3.打开Javascript console
    4.输入脚本

    脚本内容:

    setInterval(function(){
    if(new Date().toLocaleString().indexOf('2017/11/13 下午2:25:00')===0) 
    {
    $('.edit_area').html('test script');
    $(".edit_area").trigger($.Event("keydown", { keyCode: 13,ctrlKey: true}));
    $('.btn_send').click();
    }
    },1000);

    其中test script处为想要发送的消息内容,时间格式使用new Date().toLocaleString();来查看。

    更多相关内容
  • 这是一个利用Python来编写的一个小功能,定时发送消息,根据用户设定时间,设定微信联系人,设定要发送的消息就ok了
  • 使用微信,定时往指定的微信群里发送指定信息。接下来通过本文给大家分享Python3 itchat实现微信定时发送消息的实例代码,需要的朋友可以参考下
  • 一个java文件,完成可配置的微信定时任务

    需求来源

    当我们再日常工作中,需要每日定时的发送群消息,时间太早的话不想起来,想着可以用java显示定时发送消息的任务.在睡梦中让程序帮我们定时发送消息

    功能介绍

    定时生日祝福、每日早安、晚安问候

    1. 检测微信是否再后台运行
    2. 指定每天多个时间段发送可配置的消息
    3. 发送图片
    4. 每个时间段给多个人发送多个消息
    5. 设置间隔时间(如:两天发一次,一天发一次,每秒发一次)

    代码如下

    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():当内容为图片时指定的图片本地绝对地址

    使用方式

    1. 复制上述代码内容为一个名为TimerTask.java文件
    2. 修改文件中,当前环境配置文件指定地址

    在这里插入图片描述

    执行编译运行命令

    编译

    javac -encoding UTF-8 TimerTask.java
    

    开始运行

    java TimerTask
    

    或者直接在ide开发工具中运行

    展开全文
  • 因工作需要每小时签到,也可以用去打广告,特意做了个定时发送的程序。需要单独窗口使用,把获取发送窗口拖拽到需要发送的窗口,添加发送的内容。理论支持所有聊天窗口。
  • python3+pyqt5+itchat微微信信定定时时发送送消消息息的的方方法法 今天小编就为大家分享一篇python3+pyqt5+itchat微信定时发送消息的方法具有很好的参考价值希望对大家 有所帮 一起跟随小编过来看看吧 编这个程序...
  • 因工作需要每小时签到,特意做了个定时发送的程序。需要单独窗口使用,把获取发送窗口拖拽到需要发送的窗口,添加发送的内容。理论支持所有聊天窗口。
  • 自己写的一个小demo,VBS之“指定微信好友发送消息。由于所需积分系统会自动改,需要的可以私聊我,我就不天天改所需积分了
  • 定时发送微信消息

    2018-08-22 20:19:24
    delphi xe10.2开发的微信定时发送信息实例,可以作为学习
  • 编这个程序是想过节过年,一些重要的纪念日,给亲戚好友祝福之类的,但要凌晨0点才显得比较有诚意,可我又比较贪睡,常常忘了,所以就有了编个微信定时发送消息小程序. 运行环境: python 3.x,不支持python2 准备工作 ...
  • 微信如何在设定时间自动发送信息给指定好友微信没有定时发送信息的功能,但是可以借助小程序。 世界上最遥远的距离,不是生与死,而是小编就站在你面前,你却不知道小编爱你。打开微信之后在搜索小程序中输入蜗牛传书...

    微信如何在设定时间自动发送信息给指定好友

    微信没有定时发送信息的功能,但是可以借助小程序。 世界上最遥远的距离,不是生与死,而是小编就站在你面前,你却不知道小编爱你。

    打开微信之后在搜索小程序中输入蜗牛传书,然后点击进入。

    07f46f70ad97bec620250b0565c0d532.png

    打开蜗牛传书的页面中点击微信登录按钮生命中有很多东西能忘掉的叫过去忘不掉的叫记忆。一个人的寂寞有时候很难隐藏得太久时间太久了人就会变得沉默那时候有些往日的情怀就找不回来了。或许当一段不知疲倦的旅途结束只有站在终点的人才会感觉到累。其实小编一直都明白能一直和一人做伴实属不易。

    如何实现微信自动发送消息给好友?

    微信自动向好友发送消息有两种形式,一种是根据好友发送的关键词来做出自动回复内容的消息,还有一种就是到指定时间,发送指定消息给好友。

    网页版微信 按键精灵 具体步骤如下: 1首先要在百度上下载网页版微信和按键精灵,至于怎么下载这里就不说了。 2下载之后,首先登录网页版微信,打开之后会小编想过无数次和你再次相遇的情景,甚至连怎么开口,台词是什么都想好了,可是小编们再也没有相遇……

    微信如何定时发送消息给好友

    微信怎么定时发信息呢。 就是给朋友每天定时发信息小编打了很多字,又默默的删了,因为有些东西说不清。

    微信可以利用蜗牛传书小程序给好友定时发信息;方法是;以苹果手机操作为例: 第一步:点击“小程序”,所示。

    想请教如何实现 将要发的图片文字提前编辑好,然后设定时间定时发微信定时发送消息这个功能目前只能借助一些像聊天狗这样的外部工具来实现,因为微信自身并没有这样的功能设置。具体的应用场景就是,通过在工具后台设置需要定时有没有一个人,你想见,却又见不到;有没有一个人,你想爱,却又不敢爱;有没有一个人,你想忘,却又不舍忘

    如何编程控制qq发送消息在指定时间给指定好友

    由于业务调整,小编的QQ中心“好友”功能已于2014年7月15日停止服务,QQ定时发送消息功能也不能使用了。 若需要批量管理好友,可以进入客户端的好友管理器中如果小编是你世界里面的过客,你绝对不会遇到第二个小编。

    微信公众号开发,用什么借口实现对特定用户的定时建议在第三方平台如意微,这个是有定时功能的 。

    微信个人消息可以设置成每天定时发送吗?

    不行,微信没有这个功能,但却可以通过微信内的小程序达到这种效果,具体操作方法如下: 一、打开手机微信“发现”页,点击打开“小程序”。

    以上就是四十五资源网为大家整理的python实现给微信指定好友定时发送消息内容,如果觉得本站更新的资源对您有帮助 不要忘记分享给您身边的朋友哦!

    展开全文
  • 生活中有时我们需要在特定时间点给别人发送消息时,而又有其他的事情需要处理,很容易造成我们遗忘掉这件事,这是我们就需要一个程序来帮助我们来执行这一任务,经过几天在网上的查询 写了一个小程序,希望各位大神...

     生活中有时我们需要在特定时间点给别人发送消息时,而又有其他的事情需要处理,很容易造成我们遗忘掉这件事,这是我们就需要一个程序来帮助我们来执行这一任务,经过几天在网上的查询

    写了一个小程序,希望各位大神指点一下不足。

    1.我们先利用pip下载所需要的模块

    pip install time
    pip install pyperclip
    pip install win32api
    pip install win32con
    pip install os

    2.导入模块,创建是否发送消息的判断条件 

    import time
    
    import pyperclip
    import win32api
    import win32con
    
    import os
    
    #判断
    while True:
        time_now = time.strftime("%H:%M", time.localtime())#获取当前时间
        if time_now == "07:44":#此处为消息发送的时间
    
    
            

    3.利用绝对路径打开微信

            def open_app(app_dir):
                os.startfile(app_dir)
    
    
            if __name__ == "__main__":
                app_dir = r'C:\Program Files (x86)\Tencent\WeChat\WeChat.exe'#此处为微信的绝对路径
                open_app(app_dir)
                time.sleep(1)#电脑反应需要时间,使程序暂停一段时间来等待电脑反应,单位是秒

    4.利用快捷键打开搜索框并在搜索框粘贴所要发送的人

            win32api.keybd_event(17, 0, 0, 0)
            win32api.keybd_event(70, 0, 0, 0)
            win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
            win32api.keybd_event(70, 0, win32con.KEYEVENTF_KEYUP, 0)
            time.sleep(1)
    
    
            pyperclip.copy('联系人昵称')
            spam = pyperclip.paste()
            win32api.keybd_event(17, 0, 0, 0)
            win32api.keybd_event(67, 0, 0, 0)
            win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
            win32api.keybd_event(67, 0, win32con.KEYEVENTF_KEYUP, 0)
            time.sleep(1)
            win32api.keybd_event(13, 0, 0, 0)
            win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
            time.sleep(1)
    

     5.将所需要发送的文字粘贴到文本框并进行发送

            pyperclip.copy('聊天内容')
            spam = pyperclip.paste()
            win32api.keybd_event(17, 0, 0, 0)
            win32api.keybd_event(86, 0, 0, 0)
            win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
            win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
            win32api.keybd_event(13, 0, 0, 0)
            win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
            time.sleep(61)#确保程序只执行一次,防止重复执行
    

                            ​​​​​​​        ​​​​​​​        

    展开全文
  • 需要用到微信win端,使用vb语言- >编码->任务定时器 本人观看其他博主https://blog.csdn.net/qq_41311259/article/details/118482555制作的vb脚本有点bug代码并不能直接运行,本教程可以直接运行 Dim name,...
  • 一群朋友在微信群里面,为了活跃气氛,就想做个机器人之类的,每天不定时的或者定时的在群里面发送一些信息带动话题,不知道这个功能要怎么实现,谁能给点思路~~现在也只懂java,或者给个教程,让我学习一下
  • 主要介绍了Python实现企业微信机器人每天定时发消息实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要为大家详细介绍了python实现微信定时每天和女友发送消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 利用python在微信中实现一个定时发送消息的功能发布时间:2020-11-25 14:33:47来源:亿速云阅读:92作者:Leah今天就跟大家聊聊有关利用python在微信中实现一个定时发送消息的功能,可能很多人都不太了解,为了让...
  • 微信每日说,每日自动发送微信消息
  • 这里想分享如何每天给女友定时微信发送”晚安“,如果只是晚安,就略显单调,于是爬取金山词霸每日一句,英文和翻译,借此设定定时器进行发送。 准备: pip install wxpy pip install requests 实现代码: ...
  • 企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人。 建立群机器人后,右键查看机器人,如下 复制...
  • 使用步骤: 1、登陆pc微信。 2、打开 压缩包内的 “注入助手.exe” ...最小化注入工具会置入托盘。...定时消息步骤: 1、在通讯录选项卡点击刷新通讯录。 2、选中待发送人,右键,将id发送发送选项卡
  • 微信自动发消息源码

    2016-08-26 15:44:40
    微信网页版发送消息源码,有问题留言问我
  • 微信定时自动发送消息的小工具-python-itchat

    万次阅读 多人点赞 2018-06-13 15:56:42
    - itchat提供微信API接口,实现进行向群组发送消息; - apscheduler提供定时器功能。 代码下载请到我的github仓库。 设计目的 最开始只是想能不能做一个程序,可以定时在周二,四,六晚上10点半提醒组员们上传...
  • Python爬虫-微信定时消息发送

    千次阅读 多人点赞 2019-07-03 14:11:52
    Python自动微信发送消息
  • 微信新功能曝光:定时发送消息

    千次阅读 2021-06-09 00:32:35
    公众号后台回复“图书“,了解更多号主新书内容 相信很多小伙伴和我一样,会经常忘记给某个微信好友发消息,从而错过一些重要的事情。如果微信可以定时发送消息的话,那么就能防止这类事件的发生。...
  • 企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人。 建立群机器人后,右键查看机器人,如下 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,182
精华内容 8,872
关键字:

微信定时发送消息

友情链接: HYUploadSRV20190619.rar