三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)


Posted in Javascript onJune 21, 2019

项目介绍

本文介绍项目是用node和wechaty微信网页接口开发的一款小工具,可以定时给女朋友发每天的天气情况,天气提醒,每日一句。通过配置机器人api后还可以实现微信机器人自动陪女朋友聊天。

项目地址

github

效果预览

在三步走教学之前,先放上效果看一下

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

可以看到在指定的时间就会收到发送的消息,包括天气信息,天气提醒,还有你们在一起多少天了。当开启机器人后,女朋友就可以和小助手对话了,不过目前开源机器人的api都不是非常的智能,匹配的语义可能不是那么准确。所以有时候女朋友生气了,千万记得不要开启机器人,不然回答的不对是会被女朋友暴打的!

此项目前期使用的是图灵机器人,但是最近图灵机器人做了限制,没有认证的用户不允许调取API,认证的用户每天也只有100条,这就很鸡肋了,女朋友还没哄过瘾呢就被限制了,这是很可怕的(手动滑稽)!所以现在更换了一个天行机器人的api接口,这个接口没有太多限制,送的调用次数也足够用,在项目中已经开放给大家用了,不过还是建议大家自己申请一个账号比较好,因为这个机器人可以自定义名称之类的,也可以设置自己需要的回复内容。

三步走教程

一、安装node

node官网

选择系统对应版本node下载安装,win建议.msi包安装,只需一直下一步即可,其他系统同理;

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

安装完成后,按住键盘的shift+鼠标右键,选择在此处打开命令窗口。在命令行执行node -v出现版本号说明安装成功

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

二、下载代码并配置

代码地址

访问此地址,直接下载zip包到本地桌面,然后解压;

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

进到目录中,找到config目录下的index.js文件

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

选中index.js文件,右击选择打开方式,没有安装代码编辑器的可以用记事本打开。有代码编辑器的直接用代码编辑器打开,建议非开发人员可以下载一个notepad++,开发人员就各自发挥吧,相信每个人都有自己用的比较舒服的编辑器我就不推荐了

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

配置文件中需要修改的地方,女朋友的微信备注姓名NAME必须要换一下,不然你发给我就不好了?,微信昵称NICKNAME最好也写一下,你和女朋友的纪念日MEMORIAL_DAY就不用说了,也要改一下。

如果要发送天气信息,女朋友所在城市CITY肯定也是必须修改的,地区LOCATION不知道怎么拼写的话,我建议可以查一下墨迹的官网

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

在墨迹天气找到对应地区的天气后,查看一下网页地址栏,绿色标记的拼音填入CITY,红色标记的拼音填入LOCATION

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

每天发送的时间SENDDATE,这里的规则可以参见schedule目录下的index.js文件。这里0 06 8 * * *代表的是每天的早上8点06分0秒,我们通常只需配置前三个就可以了。

如果需要开启机器人聊天的话,需要把AUTOREPLY设置为true,这里我放弃了图灵机器人,原因上面也说了,改用了天行机器人,但是不要抱太大希望,它并不是那么智能?。目前由于我自己账号的api次数还比较多,就在项目代码中开放给大家使用了,这里就不放出来,下载代码后只要修改一下AUTOREPLY就可以自动回复了。

// 配置文件
module.exports = {
// 基础定时发送功能配置项(必填项)
NAME: 'Leo_chen', //女朋友备注姓名
NICKNAME: 'Leo_chen', //女朋友昵称
MEMORIAL_DAY: '2015/04/18', //你和女朋友的纪念日
CITY: 'shanghai', //女朋友所在城市
LOCATION: "pudong-new-district", //女朋友所在区(可以访问墨迹天气网站后,查询区的英文拼写)
SENDDATE: '0 06 8 * * *', //定时发送时间 每天8点0分0秒发送,规则见 /schedule/index.js
ONE: 'http://wufazhuce.com/', ////ONE的web版网站
MOJI_HOST: 'https://tianqi.moji.com/weather/china/', //中国墨迹天气url
//高级功能配置项(非必填项)
AUTOREPLY: true, //自动聊天功能 默认关闭
AIBOTAPI: 'http://api.tianapi.com/txapi/robot/', //天行机器人API 注册地址https://www.tianapi.com/signup.html?source=474284281
APIKEY: '天行机器人apikey', //天行机器人apikey
}

三、开始运行程序

配置完成好文件别忘记保存了,保存好就回到项目的主目录吧。这时候win系统的话就按住键盘的shift+鼠标右键,选择在此处打开命令窗口。

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

然后输入npm install。

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

等待安装完成后输入npm run start,这时会下载一个文件,因为比较大,所以要多等一下,等待出现二维码的时候就可以拿出手机微信扫一扫登录了。接下来就是一顿神对话了?

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

如果执行npm run start遇到失败的话,先执行npm install wechaty-puppet-puppeteer@^0.17.14 --no-save然后再执行npm run start

常见问题处理

  • 先检查node版本是否大于10
  • 存在package-lock.json文件先删除
  • 删除node_modules后重新执行npm install

我的微信号无法登陆

从2017年6月下旬开始,使用基于web版微信接入方案存在大概率的被限制登陆的可能性。 主要表现为:无法登陆Web 微信,但不影响手机等其他平台。 验证是否被限制登陆: wx.qq.com 上扫码查看是否能登陆,不能登录的话,那你可能就无法用这个工具了。

执行npm run start时无法安装puppet-puppeteer&&Chromium

Centos7下部署出现以下问题

三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)

解决方案:

#依赖库
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y
#字体
yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

3.windows下,下载puppeteer失败

执行一下npm install wechaty-puppet-puppeteer@^0.17.14 --no-save  

注意

本项目属于个人兴趣开发,开源出来是为了技术交流,请勿使用此项目做违反微信规定或者其他违法事情,请勿商用。建议使用小号进行测试,有被微信封禁网页端登录权限的风险(客户端不受影响),请确保自愿使用。因为个人使用不当导致网页端登录权限被封禁,均与作者无关,谢谢理解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
jQuery如何使用自动触发事件trigger
Nov 29 Javascript
详解jQuery中的事件
Dec 14 Javascript
Bootstrap CSS组件之大屏幕展播
Dec 17 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
May 30 Javascript
微信小程序中setInterval的使用方法
Sep 29 Javascript
node.js文件上传重命名以及移动位置的示例代码
Jan 19 Javascript
Vue2.0实现组件数据的双向绑定问题
Mar 06 Javascript
VUE-cli3使用 svg-sprite-loader
Oct 20 Javascript
jquery操作select常见方法大全【7种情况】
May 28 jQuery
十分钟教你上手ES2020新特性
Feb 12 Javascript
详解vue父子组件状态同步的最佳方式
Sep 10 Javascript
微信小程序实现弹出菜单动画
Jun 21 #Javascript
js类的继承定义与用法分析
Jun 21 #Javascript
js中值引用和地址引用实例分析
Jun 21 #Javascript
微信小程序实现消息框弹出动画
Apr 18 #Javascript
前端Electron新手入门教程详解
Jun 21 #Javascript
javascript实现自由编辑图片代码详解
Jun 21 #Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 #Javascript
You might like
PHP 和 XML: 使用expat函数(三)
2006/10/09 PHP
php巧获服务器端信息
2006/12/06 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
PHP实现的日历功能示例
2018/09/01 PHP
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
Python urlopen()函数 示例分享
2014/06/12 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
C#如何进行LDAP用户校验
2012/11/21 面试题
机关节能减排实施方案
2014/03/17 职场文书
班级标语大全
2014/06/21 职场文书
优秀员工事迹材料
2014/12/20 职场文书
党员个人自我评价
2015/03/03 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
MYSQL 运算符总结
2021/11/11 MySQL
OpenCV实现反阈值二值化
2021/11/17 Java/Android