目录

1.前言

2、准备好祝福的春联图片和老虎图片放在调用路径下文件夹下

3、打开IDEA软件,编写一个WeChatRobot机器人

4、编写一个开始发送消息的任务

5、最后编写一个启动类,完成所有的祝福代码

6.我们看下图片和视频效果:


1.前言

春联,又称“春贴”、“门对”、“对联”,是过年时所贴的红色喜庆元素“年红”中一个种类。它以对仗工整、简洁精巧的文字描绘美好形象,抒发美好愿望,是中国特有的文学形式,是华人们过年的重要习俗。当人们在自己的家门口贴年红(春联、福字、窗花等)的时候,意味着过春节正式拉开序幕。

每逢春节,无论城市还是农村,家家户户都要挑漂亮的红春联贴于门上,辞旧迎新,增加喜庆的节日气氛。春联的另一来源是春贴,古人在立春日多贴“宜春”二字,后渐渐发展为春联,表达了中国劳动人民一种辟邪除灾、迎祥纳福的美好愿望。以下是我用代码编写的春联图片,上联:虎跃龙腾山河美,下联:莺歌燕舞月江春,横批:虎跃龙腾。如何将它一键自动发送给小姐姐呢?我们拭目以待!

当今时代的程序员,大多充当键盘侠角色,在微信、论坛、游戏上大行其道发送消息,很少会使用笔墨纸砚来陶冶情操,挥洒出心中的祝福春联,自然就少了些许浪漫诗情画意!在这,我们可以使用java语言的自动发送功能,一键轻松不失高雅の送出我们心中的祝福!下面从以下几步完成对联和祝福语:

2、准备好祝福的春联图片和老虎图片放在调用路径下文件夹下

3、打开IDEA软件,编写一个WeChatRobot机器人

/*** @ClassName RobotUtil* @Description 编写机器人* @Author sxl* @Date 2022-01-27 10:23**/
public class WeChatRobot {private Robot bot = null;private Clipboard clip = null;private static Toolkit kit;public WeChatRobot() {try {this.clip = Toolkit.getDefaultToolkit().getSystemClipboard();this.bot = new Robot();} catch (AWTException e) {e.printStackTrace();}}/*** 打开微信,我这边设置了CTRL+ALT+W 快捷键打开微信*/public void openWeChat() {bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_ALT);bot.keyPress(KeyEvent.VK_W);bot.keyRelease(KeyEvent.VK_CONTROL);bot.keyRelease(KeyEvent.VK_ALT);bot.delay(1000);}/*** 查找微信中好友名称** @param name 好友/群名称*/public void chooseFriends(String name) {Transferable text = new StringSelection(name);clip.setContents(text, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_F);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(2000);bot.keyPress(KeyEvent.VK_ENTER);}/*** 发送消息** @param message 消息*/public void sendMessage(String message) {Transferable text = new StringSelection(message);clip.setContents(text, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);//来只老虎文字Transferable text2 = new StringSelection("送你一只老虎,祝你财源广进,吉祥如意!");clip.setContents(text2, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);//发送老虎图片Image image2 = null;File file2 = new File("C:\\Users\\Administrator\\Desktop\\img\\tiger.jpg");BufferedImage bi2;//通过io流操作把file对象转换成Imagetry {InputStream is=new FileInputStream(file2);bi2 = ImageIO.read(is);image2=(Image)bi2;} catch (IOException e) {e.printStackTrace();}// 将字符串放到剪切板内,相当于做了一次复制操作Transferable tImg2 = new ImageSelection(image2);clip.setContents(tImg2, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);//来副对联Transferable text3 = new StringSelection("送你一副对联,祝你龙腾虎跃,如虎添翼!");clip.setContents(text3, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);//发送春联祝福图片Image image = null;File file = new File("C:\\Users\\Administrator\\Desktop\\春联\\春联.png");BufferedImage bi;//通过io流操作把file对象转换成Imagetry {InputStream is=new FileInputStream(file);bi = ImageIO.read(is);image=(Image)bi;} catch (IOException e) {e.printStackTrace();}// 将字符串放到剪切板内,相当于做了一次复制操作Transferable tImg = new ImageSelection(image);clip.setContents(tImg, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);}/*** 发送消息** @param message 消息*/public void sendMessage1(String img) {if (bot == null) {return;}Image image = null;File file = new File(img);BufferedImage bi;//通过io流操作把file对象转换成Imagetry {InputStream is=new FileInputStream(file);bi = ImageIO.read(is);image=(Image)bi;} catch (IOException e) {e.printStackTrace();}// 将字符串放到剪切板内,相当于做了一次复制操作Transferable tImg = new ImageSelection(image);clip.setContents(tImg, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_ALT);bot.keyPress(KeyEvent.VK_W);bot.keyRelease(KeyEvent.VK_CONTROL);bot.keyRelease(KeyEvent.VK_ALT);}/*** 自定义Transferable实现类实现图片复制到剪切板** @date 2020/05/14*/public class ImageSelection implements Transferable {private Image image;public ImageSelection(Image image) {this.image = image;}// Returns supported flavorspublic DataFlavor[] getTransferDataFlavors() {return new DataFlavor[]{DataFlavor.imageFlavor};}// Returns true if flavor is supportedpublic boolean isDataFlavorSupported(DataFlavor flavor) {return DataFlavor.imageFlavor.equals(flavor);}// Returns imagepublic Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {if (!DataFlavor.imageFlavor.equals(flavor)) {throw new UnsupportedFlavorException(flavor);}return image;}}}

4、编写一个开始发送消息的任务

/*** @ClassName StartSendMsgTask* @Description 开始发送消息的任务* @Author sxl* @Date 2022-01-27 10:46**/
public class StartSendMsgTask {private final WeChatRobot robot = new WeChatRobot();ScheduledExecutorService exe = Executors.newSingleThreadScheduledExecutor();/*** 立刻发送消息** @param friendName 发送的朋友/群名称* @param message    发送的内容*/public void sendMsgNow(String friendName, String message) {printLog(friendName, message);robot.openWeChat();robot.chooseFriends(friendName);robot.sendMessage(message);}/*** 定时发送任务** @param friendName 发送的朋友/群名称* @param timeStr    定时时间* @param message    发送的内容*/public void sendMsgSchedule(String friendName, String timeStr, String message) {exe.schedule(() -> sendMsgNow(friendName, message), getDate(timeStr), TimeUnit.SECONDS);}/*** 发送内容日志** @param friendName 发送给谁* @param message    发送的消息*/private void printLog(String friendName, String message) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("-----------------发送祝福消息给小姐姐-----------------");System.out.println("当前时间: " + sdf.format(new Date()));System.out.println("发送对象: " + friendName);System.out.println("发送内容: " + message);}/*** 获取定时任务的时间** @param timeStr 时间* @return 任务延时发送时间(秒)*/private long getDate(String timeStr) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String currentDate = sdf.format(new Date());String targetTime = currentDate + " " + timeStr;sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//目标时间 时间戳long targetTimer = 0;try {targetTimer = sdf.parse(targetTime).getTime();} catch (ParseException e) {e.printStackTrace();}//当前时间 时间戳long currentTimer = System.currentTimeMillis();//判断是否已过目标时间if (targetTimer < currentTimer) {//目标时间加一天targetTimer += 1000 * 60 * 60 * 24;}//返回目标日期Date date = new Date(targetTimer);return (date.getTime() - System.currentTimeMillis()) / 1000;}
}

5、最后编写一个启动类,完成所有的祝福代码

/*** @ClassName Main* @Description 启动类* @Author sxl* @Date 2022-01-27 10:48**/
public class Main {public  void sendMessage() {System.out.println("Start Send Message Task!");// 测试数据,真实数据可以使用爬虫获取String msg = "今天是2022年1月27日,星期四\n" +"\n" +"首先今天好想你喔(づ ̄3 ̄)づ╭❤~,然后我就要来播送天气预报了!!\n" +"\n" +"今天最:高温 15.0℃,最低温 8.0℃\n" +"\n" +"阴转小雨,风力<4级,空气质量是良\n" +"\n" +"今天将在 17:39 太阳会缓缓落下,我会在家做好饭等你哟!\n" +"\n" +"摩羯座今日运势\n" +"\n" +"健康指数:92%\n" +"商谈指数:88%\n" +"幸运颜色:粉色\n" +"幸运数字:8\n" +"\n" +"综合运势: 整体运势中规中矩,建议保持低调的姿态。盲目追求风头只会掉入欲望的陷阱中,你需要找到自己想做的事情,或是目标方向更重要。生活方面可以打扮简单利落一些,能提高舒适感的同时,也能给别人带来好印象。\n" +"\n" +"最后阴晴之间,谨防紫外线侵扰\n" +"\n" +"爱你٩(๑>◡<๑)۶傻宝宝!!!";StartSendMsgTask startSendMsgTask = new StartSendMsgTask();// 立刻发送startSendMsgTask.sendMsgNow("老婆", msg);// 定时发送startSendMsgTask.sendMsgSchedule("老婆", "13:14:00", msg);}
}

启动方法:编写好后我们在idea编辑器里运行启用类Main主方法即可

6.我们看下图片和视频效果:

自动发送虎年祝福给小姐姐视频链接https://v.qq.com/x/page/c3320gmrwhp.html

用Java写春联:一键自动发送微信祝福给喜欢的人【撩】相关推荐

  1. 使用python 定时发送微信信息给喜欢的人

    原创 使用python 定时发送微信信息给喜欢的人 2019-11-08 16:34:18 冒牌技术小哥 阅读数 171 文章标签: python 更多 分类专栏: python 版权声明:本文为博主 ...

  2. Java实战-用Java mail实现Exchange发邮件给你喜欢的人

    目录 1. 官方指导文章 2. 需要用到com.microsoft.ews-java-api 2.1 maven中添加 2.2 gradle中添加 3. 完整代码:新建一个MailUtil.java类 ...

  3. Python实现微信祝福语自动发送

    背景:源于生活中的各种假期节气,微信祝福漫天飞舞~ 想要通过Python来实现自动发送微信祝福语给好友~ 方法一: 借用现有接口,自动生成配套的订阅号二维码及key 关于此API请查阅相关链接:htt ...

  4. 微商成功神器,python程序员教你,一键分析微信好友近期所有信息

    其他精彩内容:https://blog.csdn.net/weixin_45400881/article/details/95754294 几千个好友,怎么统计 相信做微商的微信好友都会很多,多到很多 ...

  5. python开发程序知道微信好友是否已读信息吗_微商成功神器,python程序员教你,一键分析微信好友近期所有信息...

    好友太多怎么保活 相信做微商的微信好友都会很多,多到很多都成了"僵尸"好友,但是想要成为一个成功的微商,要有两点: 1.好友多,基数决定高度 2."活的"好友多 ...

  6. 【最新敲简单】浪漫微信早安推送 +页面总控,JAVA版本,一键部署运行——保姆级教程

    [最新敲简单]微信早安推送 +页面总控, JAVA版本,一键部署运行--保姆级教程 文章目录 [最新敲简单]微信早安推送 +页面总控, JAVA版本,一键部署运行--保姆级教程 一.项目简介 二.本地 ...

  7. 用Python写春联:抒写最真诚的祝福和最美好的祈愿

    文章目录 1. 前言 2. 代码中需要导入的模块 3. 下载字模 4. 下载龙凤呈祥背景底图 5. 生成春联 6. 测试样例 6.1 普天同庆 欢度春节 6.2 年尽岁除岁月如歌 冬去春来春光似画 6 ...

  8. java实现自动发送微信QQ消息(可发图片)

    自动发送微信/QQ/微博等消息 一:功能:实现发送QQ/微信/微博消息,程序控制. 效果演示(实现自动发生QQ微信消息给女友,发微博信息也可以就不演示了) 二:原理讲解:将剪贴板的内容给发送到QQ微信 ...

  9. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

最新文章

  1. 随笔:送给初次使用PCL库的小伙伴
  2. 测试 C、Python、Java 等 16 种编程语言的 Hello World:7 种存在 Bug?
  3. 系统的crontab设定:/etc/crontab
  4. 无法扩展该卷 因为群集的数量将超过文件系统_浏览器将支持Python项目!Mozilla发布Pyodide...
  5. 解压deb_Linux填坑记:很全面的解压和压缩命令集合
  6. stringstream的使用
  7. Python教程-python字典中key的灵活使用fromkeys()
  8. Python基础函数学习笔记(一)
  9. 设计模式(行为型模式)——模板方法模式(Template Method)
  10. 黑刀 php,黑刀Dezender (PHP解密)
  11. wps文档设置页眉左右(奇偶页)不同内容
  12. jqwidgets使用方法
  13. 计算机视觉课程-SIFT算法特征检测
  14. 美元人民币汇率API
  15. [luogu] P2498 [SDOI2012]拯救小云公主 二分答案+bfs
  16. K8S在一个Pod中创建多个容器
  17. Oracle 19c OCP的1Z0-082-CHN、1Z0-083-CHN和1Z0-082、1Z0-083有什么不同
  18. 网页右下角弹出广告窗口 超简洁
  19. python time模块_Python time模块和datetime模块
  20. SAP银企直联解决方案

热门文章

  1. spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2
  2. 计算机软件技术基础 王海燕,北京大学机械考研经验-北大工学院考研辅导班
  3. 顾问刻薄_开发人员的生活1.04-刻薄
  4. python列表元素求和_对Python列表的前k个元素求和?
  5. 2021年全国高新技术企业申报时间安排汇总大全,及最新条件
  6. ChatGPT创造的未来:150+个Prompts助你玩转新世界
  7. Java,第一次作业——复利值
  8. RGB 颜色空间肤色检测
  9. 1114:白细胞计数(C C++)
  10. 网络加速,还得是华为云CDN加速服务