首页
/ 微信机器人wechatBot项目详解:实现每日自动发送暖心消息

微信机器人wechatBot项目详解:实现每日自动发送暖心消息

2026-02-04 05:17:07作者:裴麒琰

项目概述

wechatBot是一个基于Node.js开发的微信机器人项目,主要功能是定时向指定联系人发送包含天气信息、每日一句等内容的暖心消息。该项目灵感来源于一篇关于定时发送邮件的技术文章,作者将其移植到微信平台,实现了更贴近日常生活的自动化消息推送。

技术架构

核心依赖库

  1. Wechaty:微信机器人核心库,提供了微信登录、消息收发等基础功能
  2. node-schedule:强大的定时任务调度库,支持复杂的定时规则
  3. Superagent:轻量级HTTP请求库,用于爬取网页内容
  4. Cheerio:服务器端的jQuery实现,用于解析HTML内容
  5. qrcode-terminal:在终端显示二维码,方便微信登录

数据来源

  • 每日一句:从"ONE·一个"网站(http://wufazhuce.com/)获取
  • 天气信息:从墨迹天气(https://tianqi.moji.com/)爬取

功能实现详解

1. 定时消息发送

项目使用node-schedule库实现了精确的定时任务调度。在config/index.js中可以配置发送时间,格式遵循cron表达式规则。例如"30 15 8 * * *"表示每天8点15分30秒执行发送任务。

发送内容包含:

  • 当前日期
  • 纪念日倒计时
  • 当日天气情况(包括温度、风力、空气质量等)
  • 每日一句励志或暖心话语

2. 自动好友管理

项目实现了基于关键词的自动加好友功能:

  • 当收到好友申请时,会检查验证消息是否包含配置的关键词(如"微信每日说")
  • 符合条件的好友申请会自动通过
  • 对于普通消息,机器人会回复引导信息

3. 群组管理功能

  • 当用户发送特定关键词(如"加群")时,机器人会自动发送群二维码
  • 支持从URL或本地文件加载群二维码图片
  • 新成员入群时会发送欢迎消息

核心代码解析

主程序(index.js)

  1. 微信登录处理

    • 使用qrcode-terminal在控制台显示登录二维码
    • 登录成功后创建定时任务
  2. 消息处理流程

    • 区分私聊和群聊消息
    • 根据关键词触发不同响应
    • 实现自动加群功能
  3. 定时任务执行

    • 获取联系人信息
    • 爬取天气和每日一句内容
    • 格式化消息并发送

数据爬取模块(superagent/index.js)

  1. 每日一句获取

    • 请求ONE网站首页
    • 使用Cheerio解析HTML,提取每日一句内容
  2. 天气信息获取

    • 请求墨迹天气对应城市页面
    • 解析天气提示、温度、风力、空气质量等信息
    • 结构化返回天气数据

项目部署指南

环境准备

  1. 配置npm/yarn镜像源(推荐使用国内镜像加速安装)
  2. 安装Chromium依赖(Wechaty需要)

安装步骤

  1. 克隆项目代码
  2. 安装依赖:npm installcnpm install
  3. 修改配置文件config/index.js

配置说明

主要配置项包括:

  • 城市和地区(用于获取天气)
  • 纪念日日期
  • 联系人昵称/备注
  • 定时任务规则
  • 自动加好友/加群关键词
  • 群二维码路径或URL

运行项目

执行npm run start启动项目,使用微信扫描控制台显示的二维码登录。

注意事项

  1. 账号安全:建议使用微信小号运行,避免影响主账号
  2. 稳定性:长时间运行可能出现断连,需要监控和重启
  3. 兼容性:微信协议变更可能导致功能失效,需及时更新依赖
  4. 性能考虑:避免高频消息发送,防止账号被封禁

扩展思路

  1. 消息内容扩展

    • 增加新闻简报
    • 添加生日/节日提醒
    • 整合更多生活服务信息
  2. 交互增强

    • 支持更多自然语言指令
    • 实现简单的问答功能
    • 添加消息模板自定义
  3. 稳定性改进

    • 添加进程守护
    • 实现断线自动重连
    • 错误处理和自动恢复

项目意义

wechatBot项目展示了如何将自动化技术与日常生活场景结合,通过编程实现情感表达的自动化。它不仅是一个技术实践项目,也体现了技术的人文关怀价值。开发者可以基于此项目扩展更多实用功能,打造个性化的微信助手。

该项目适合作为Node.js学习和微信机器人开发的入门案例,涵盖了网络请求、定时任务、消息处理等多个实用技术点。

登录后查看全文
热门项目推荐
相关项目推荐