Node.js结合Wechaty实现微信定时助手与自动聊天教程

作者:夜航船时间:2026-10-23 08:42:17浏览:275

本文详解如何使用Node.js和Wechaty库开发微信机器人。内容涵盖环境搭建、配置文件修改(包括天气、纪念日及机器人API设置)、程序运行及常见问题排查。通过集成天行机器人API,实现定时发送天气与每日一句,以及基础自动聊天功能,适合技术爱好者进行技术交流。

项目介绍与效果预览

项目介绍

本文介绍的项目基于Node.js和Wechaty微信网页接口开发,旨在打造一款实用小工具。该工具能够定时向指定联系人发送每日天气状况、天气提醒及每日精选语句。此外,通过配置机器人API,还可实现微信机器人的自动对话功能,辅助用户进行日常互动。

项目地址

github

效果预览

在详细介绍三步操作之前,先展示实际运行效果。

项目介绍与效果预览

项目介绍与效果预览

如效果所示,在设定的时间点会收到发送的消息,内容涵盖天气信息、天气提醒以及双方在一起的天数统计。当开启机器人功能后,联系人可与助手进行对话。需注意,目前开源机器人的API智能程度有限,语义匹配可能不够精准。因此,若对方情绪不佳,建议暂时关闭机器人功能。

该项目早期采用图灵机器人,但近期图灵对API调用进行了限制:未认证用户无法调用,认证用户每日仅限100次。这种限制使得体验大打折扣,甚至可能影响互动效果。因此,项目现已更换为天行机器人API接口。该接口限制较少,赠送的调用次数较为充足,项目中已开放使用。建议用户自行申请账号,以便自定义机器人名称及回复内容。

环境搭建与代码配置

三步走教程

一、安装Node.js

node官网

访问官网,选择对应操作系统的Node.js版本进行下载安装。Windows用户建议选择.msi安装包,点击下一步即可完成安装;其他操作系统同理。

项目介绍与效果预览

安装完成后,在目标目录按住Shift键并点击鼠标右键,选择“在此处打开命令窗口”。在命令行中输入node -v,若显示版本号,则说明安装成功。

项目介绍与效果预览

二、下载代码并配置

代码地址

访问上述地址,直接下载zip压缩包至本地桌面,随后解压文件。

项目介绍与效果预览

进入解压后的目录,找到config目录下的index.js文件。

项目介绍与效果预览

项目介绍与效果预览

选中index.js文件,右键选择打开方式。若未安装代码编辑器,可使用记事本打开;若有代码编辑器,建议使用编辑器打开。非开发人员推荐下载Notepad++,开发人员可根据个人习惯选择熟悉的编辑器。

项目介绍与效果预览

配置文件中需修改的关键字段包括:女朋友的微信备注姓名NAME(必须修改,以免误发)、微信昵称NICKNAME(建议填写)以及纪念日MEMORIAL_DAY(需修改为实际日期)。

若需发送天气信息,必须修改女朋友所在城市CITY。对于地区LOCATION的英文拼写,建议查询墨迹天气官网获取准确信息。

项目介绍与效果预览

在墨迹天气网站找到对应地区后,查看网页地址栏,将绿色标记部分的拼音填入CITY字段,红色标记部分的拼音填入LOCATION字段。

项目介绍与效果预览

每天发送的时间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
}

程序运行与常见问题处理

三、开始运行程序

配置文件修改完毕后,请记得保存。随后返回项目主目录。Windows系统下,在目录内按住Shift键并点击鼠标右键,选择“在此处打开命令窗口”。

项目介绍与效果预览

在命令行中输入npm install以安装依赖。

项目介绍与效果预览

等待安装完成后,输入npm run start启动程序。此时会下载一个较大的文件,请耐心等待。当屏幕出现二维码时,使用手机微信扫描即可登录。接下来即可体验互动功能。

项目介绍与效果预览

项目介绍与效果预览

若执行npm run start时遇到失败,请先执行npm install wechaty-puppet-puppeteer@^0.17.14 --no-save,然后再重新执行npm run start。

常见问题处理

  • 首先检查Node.js版本是否大于10。
  • 若存在package-lock.json文件,请先将其删除。
  • 删除node_modules文件夹后,重新执行npm install。

我的微信号无法登录

自2017年6月下旬起,基于Web版微信接入方案存在较高的登录限制风险。主要表现为无法登录Web微信,但不影响手机等其他平台。验证是否被限制登录的方法为:访问wx.qq.com扫码查看能否登录。若无法登录,则可能无法使用该工具。

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

Centos7下部署出现以下问题

项目介绍与效果预览

解决方案:


#依赖库
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 

注意

本项目为个人兴趣开发,开源旨在技术交流,严禁用于违反微信规定或违法之事,且不得商用。建议使用小号进行测试,因存在微信封禁网页端登录权限的风险(客户端不受影响),请确保自愿使用。因个人使用不当导致网页端登录权限被封禁,作者概不负责,敬请理解。

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

作者最新文章