三分钟教你用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+css在交互上的应用
Jul 18 Javascript
非常棒的10款jQuery 幻灯片插件
Jun 14 Javascript
基于socket.io和node.js搭建即时通信系统
Jul 30 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
javascript数组去重常用方法实例分析
Apr 11 Javascript
bootstrap时间插件daterangepicker使用详解
Oct 19 Javascript
mpvue跳转页面及注意事项
Aug 03 Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 Javascript
vue商城中商品“筛选器”功能的实现代码
Jul 01 Javascript
vue组件入门知识全梳理
Sep 21 Javascript
jQuery实现可以扩展的日历
Dec 01 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
php巧获服务器端信息
2006/12/06 PHP
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php编写一个简单的路由类
2011/04/13 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
2015/02/02 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
JavaScript实现区块链
2018/03/14 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python松散正则表达式用法分析
2016/04/29 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
python3实现简单飞机大战
2020/11/29 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
关于逃课的检讨书
2014/01/23 职场文书
精神文明建设标语
2014/06/16 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL