WeChat+

关于该项目

起源

该项目的起因是一个比较程(老)序(油)猿(条)的理由,有一天我发现我下班时间比较早,有点尴尬,但是又不想没事干还坐在公司,那么如何解决我的问题呢,初步想法是远程控制电脑,在下班一定时间后把电脑锁屏,营造一副我不是回家,只是去吃饭了的假象,而且还可以顺便帮我在早上没到公司的时间再远程解锁,这样是不是看起来我来的也很早呢(反正我一般也不背包);

实现

其实从实现方式上看,最初想到的无非是通过TeamViewer之类的,但是一个是我的需求没有这么复杂到要装个控制软件,另一方面在锁屏情况下也不适用我的场景;

经过短暂的思考,我把目光投向了itchat,我想基于itchat,实现手机微信与网页微信的通信,通信打通了,或许做什么事完全看Python能干嘛了,锁屏解锁肯定都是小case,而且这种方式实现简单、操作便利(使用手机就行)、功能强大(Python你懂得),所以最后选择了这种实现方式;

进展

最开始只是想实现上班辅助工具(锁屏、解锁、截屏),后来慢慢根据一些临时想到的问题做了一些新的功能,比如根据返回文本相关表情包,给表情包太多懒得找的懒人们,文本转语音,给那些需要给视力障碍、老人等发微信,但是语音不方便的小可爱们,关键字搜美食,给那些选择困难症们,微信备份,给那些惆怅微信占用手机空间太多的小可怜们,TODO,给脑子逐渐不够用的我,给头像加国旗,给那些想蹭国庆热点的兄弟们,等等等等;

注意:提供的这些功能并不是只有自己才能用,理论上你的任何一个好友、群里的朋友,都可以通过特定指令触发这些功能,比如通过#国旗#,每个好友、群友都可以得到一面加了国旗水印的自己的头像图片,嘿嘿嘿;

现状

目前支持功能列表:

  • 群聊的文本内容分析:消息频率数量统计、柱形图分析、词云展示、活跃时间段统计等(以群为单位);
  • 体重跟踪:做的一个体重跟踪功能,追加体重信息,展示体重时间的折线图;
  • 远程控制:控制宿主电脑,包括锁屏、解锁、截屏;
  • 获取美食信息,包括做法呦;
  • 获取天气信息,某个城市的当前天气;
  • 笑话:随机获取笑话一则,有点笑话偏黄,大家谨慎使用;
  • 福利:随机获取福利妹子图一张,嘿嘿嘿;
  • 表情包:获取指定内容相关表情包一张,比如#表情包#666;
  • 表情包制作:将指定文本内容融入表情包当中,目前支持王静泽-真香、有钱就是为所欲为、土拨鼠、打工是不可能打工,使用比较复杂,但是我强推这个功能,很好玩;
  • TODO:没错,就是一个简单的todo功能;
  • 翻译:目前支持中文、日语、英语、韩语、粤语,效果还行,粤语有点意思,大家也可以假装自己会粤语啦,哈哈哈;
  • 文本转语音:支持三种声音,郭德纲、林志玲、静静,没错,我想静静了,感觉是最有意义的一个功能,如果大家需要上班给老人发语音,那么这个非常实用,而且不像那些开发API,有次数限制啥的;
  • 头像加水印:最近国庆朋友圈不是请给我一面国旗很火么,我也发了发现是假的。。。。所以就自己做了一个,目前支持国旗、党旗、朋友头像(嘿嘿嘿)这几种,还不错,算实用;
  • 微信备份:这个也是一个朋友提过,就做了,目前我是对我的聊天中的图片、语音、视频进行了备份,消息内容只有群聊相关的;

部分功能效果图展示:




关于开源分享

项目地址:https://github.com/NemoHoHaloAi/wechat_plus
目前这个项目中还有一些比较私人的信息,因此还没有改为public,有需要的同学可以先留言,或者关注我(嘿嘿嘿,悄无声息骗关注),后续整理好后会正式开放;

最后

大家可以到我的Github上看看有没有其他需要的东西,目前主要是自己做的机器学习项目、Python各种脚本工具、数据分析挖掘项目以及Follow的大佬、Fork的项目等:
https://github.com/NemoHoHaloAi

基于WeChat的消息存储备份、远程控制、小功能项目开源分享计划的更多相关文章

  1. wechat+项目开源分享 - 让你的微信账号有趣起来

    WeChat+ 如果你曾经有过以下的问题或者需求,那么这篇分享很适合你: 苦于手机存储不够,但是又不敢随便删微信的消息,只能小心翼翼的清理: 酷炫沙雕表情包制作,比如把几句话融入到王静泽-真香的表情包 ...

  2. 转 基于MySQL MEB的备份恢复

    几种备份方式的介绍 mysqlbackup是一个热备份工具.也就是说它不像mysqldump那样给表上一个全局锁,由于mysqldump上了这个锁,所以就造成客户端只能对 数据库进行读操作不能写,这也 ...

  3. 基于php基础语言编写的小程序之计算器

    基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...

  4. MySQL数据库备份还原(基于binlog的增量备份)

    MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份      增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...

  5. 基于ROS的分布式机器人远程控制平台

    基于ROS的分布式机器人远程控制平台   1 结构说明 HiBot架构主要使用C/S架构,其中HibotServer为服务器,Muqutte为消息服务器中间件,HiBotClient为运行在机器人上的 ...

  6. 用MVC5+EF6+WebApi 做一个小功能(三) 项目搭建

    一般一个项目开始之前都会有启动会,需求交底等等,其中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小功能谈不上项目,但是名字不能太小气了.好吧,就叫Trump吧.没有任何含义 ...

  7. 实现基于NTP协议的网络校时功能

    无论PC端还是移动端系统都自带时间同步功能,基于的都是NTP协议,这里使用C#来实现基于NTP协议的网络校时功能(也就是实现时间同步). 1.NTP原理 NTP[Network Time Protoc ...

  8. 基于spring-boot的社区社交微信小程序,适合做脚手架、二次开发

    基于spring-boot的社区社交微信小程序,适合做脚手架.二次开发 代码地址如下:http://www.demodashi.com/demo/13867.html 1 概述 笔者做的一个后端基于s ...

  9. js小功能整理

    /** * 判断是否包含字符串某字符串 * @param {[type]} str [被检测的字符串] * @param {[type]} substr [检测是否含有的字符串] * @return ...

随机推荐

  1. Vulkan(0)搭建环境-清空窗口

    Vulkan(0)搭建环境-清空窗口 认识Vulkan Vulkan是新一代3D图形API,它继承了OpenGL的优点,弥补了OpenGL的缺憾.有点像科创板之于主板,歼20之于歼10,微信之于QQ, ...

  2. Java并发编程——线程池的使用

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

  3. Leetcode之回溯法专题-77. 组合(Combinations)

    Leetcode之回溯法专题-77. 组合(Combinations)   给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输 ...

  4. 数据的查找和提取[2]——xpath解析库的使用

    xpath解析库的使用 在上一节,我们介绍了正则表达式的使用,但是当我们提取数据的限制条件增多的时候,正则表达式会变的十分的复杂,出一丁点错就提取不出来东西了.但python已经为我们提供了许多用于解 ...

  5. Spring中老生常谈的FactoryBean

    本文完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/factorybean Factory ...

  6. 设置VS2015背景图片(转载)

    设置方法很简单:安装扩展ClaudiaIDE 1.在这里下载扩展,https://visualstudiogallery.msdn.microsoft.com/9ba50f8d-f30c-4e33-a ...

  7. JAVA实现读取图片

    话不读说  直接上代码 package cn.kgc.ssm.common; import java.io.*; /** * @author * @create 2019-08-15 9:36 **/ ...

  8. 第8章 浏览器对象模型BOM 8.1 window对象

    ECMAScript是javascript的核心,但如果要在web中使用javascript,那么BOM(浏览器对象模型)则无疑是真正的核心.BOM提供了很多对象,用于访问浏览器的功能,在浏览器之间共 ...

  9. 矩阵之间无循环计算L2距离

    实现两个矩阵的无循环计算欧氏距离 Euclidean distance navigation: 1.问题描述 2.解决方法 1.问题来源 kNN算法中会计算两个矩阵的距离 可以使用循环的方法来实现,效 ...

  10. java基础面试(二)

    最近有搜了几个面试题,大家一起来探讨一下. 1.Oracle 的分页 --分页查询一 select * from (select a1.*,rownum rn from (select * from ...