三分钟教你用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 相关文章推荐
extjs之去除s.gif的影响
Dec 25 Javascript
jquery实现多行文字图片滚动效果示例代码
Oct 10 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
JS搜狐面试题分析
Dec 16 Javascript
JS实现DIV高度自适应窗口示例
Feb 16 Javascript
Three.js基础学习教程
Nov 16 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
Dec 07 Javascript
vue基于mint-ui实现城市选择三级联动
Jun 30 Javascript
解决element UI 自定义传参的问题
Aug 22 Javascript
详解JS实现简单的时分秒倒计时代码
Apr 25 Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 Javascript
Vue2.0 实现页面缓存和不缓存的方式
Nov 12 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上的memcache和memcached两个pecl库
2010/03/29 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
JS继承用法实例分析
2015/02/05 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
Django中的ajax请求
2018/10/19 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
python实现五子棋程序
2020/04/24 Python
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
宿舍卫生检讨书
2014/01/16 职场文书
工作过失检讨书
2014/02/23 职场文书
升旗仪式主持词
2014/03/19 职场文书
生态养殖创业计划书
2014/05/06 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
承诺函格式模板
2015/01/21 职场文书
部队2015年终工作总结
2015/04/02 职场文书
人民的好儿女观后感
2015/06/18 职场文书
2016年教代会开幕词
2016/03/04 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android