三分钟教你用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实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
js以对象为索引的关联数组
Jul 04 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
JS实现在页面随时自定义背景颜色的方法
Feb 27 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
Apr 03 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
微信小程序实现页面下拉刷新和上拉加载功能详解
Dec 03 Javascript
JS高阶函数原理与用法实例分析
Jan 15 Javascript
vue.js路由mode配置之去掉url上默认的#方法
Nov 01 Javascript
jquery+ajax实现异步上传文件显示进度条
Aug 17 jQuery
微信小程序实现弹出菜单动画
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 excel类 phpExcel使用方法介绍
2010/08/21 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
jquery 面包屑导航 具体实现
2013/06/05 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
详解jQuery中的事件
2016/12/14 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
在Python中使用Neo4j的方法
2019/03/14 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
如何获取Python简单for循环索引
2019/11/21 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
电脑饰品店的创业计划书
2014/01/21 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
导游词开场白
2015/01/31 职场文书
元旦主持词开场白
2015/05/29 职场文书
小学家长意见怎么写
2015/06/03 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书