三分钟教你用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中的escape及unescape函数的php实现代码
Sep 04 Javascript
JQuery 初体验(建议学习jquery)
Apr 25 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
jQuery图片特效插件Revealing实现拉伸放大
Apr 22 Javascript
js动态创建及移除div的方法
Jun 03 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
Element-ui table中过滤条件变更表格内容的方法
Mar 02 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
vue.js 实现评价五角星组件的实例代码
Aug 13 Javascript
js实现简单模态框实例
Nov 16 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php xml常用函数的集合(比较详细)
2013/06/06 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
javaScript复制功能调用实现方案
2012/12/13 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
5款非常棒的Python工具
2018/01/05 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
python语言是免费还是收费的?
2020/06/15 Python
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
大学生村官事迹材料
2014/01/21 职场文书
教师档案管理制度
2014/01/23 职场文书
银行求职自荐信
2014/06/30 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
升学宴家长答谢词
2015/09/29 职场文书
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android