• Stars
    star
    2,248
  • Rank 20,483 (Top 0.5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

微信每日说,三步教你用Node做一个微信哄女友(基友)神器!还能帮女朋友解决垃圾分类难题

微信每日说

node version node version

wechatBot 是基于 node 与 wechaty 的微信小情话工具。最初功能只有每日发送天气和一句情话,后来添加了智能机器人聊天功能。但由于本项目面向小白用户与刚接触 node 开发的用户,故拆分了两个项目,一个是功能专一面向小白的 《微信每日说》 (也就是本项目) ,另一个也在我的仓库下 《智能微秘书》 面向有较多编程经验的用户。下面主要介绍微信每日说的使用

主要功能

  • 定时给女朋友发送每日天气提醒,以及每日一句
  • 天行机器人自动陪女朋友聊天(需要自己申请天行机器人api,不过目前开源的机器人 api 都不要抱太大希望,因为很傻的,如果你有发现好的机器人可以来推荐)
  • 垃圾分类功能,使用方法:?垃圾名称
  • 想要更多群管理,自动加好友功能,群定时任务,好友定时任务,并体验在线配置服务,请移步《智能微秘书》

可选聊天机器人

  • 天行机器人: 默认设置为天行机器人(智能化程度一般),还是建议大家自行注册自己账号 天行数据官网
  • 图灵机器人: 目前比较智能的机器人,但是需要注册后进行身份认证,才可调用,且每天只可免费调用 100 次(收费标准 99 元/月,每天 1000 次)图灵官网

天行数据需要申请的api (重要)

如遇到获取不到天气数据,或者机器人无法自动回复等问题,请登录天行数据个人中心查看是否申请了对应的接口权限,以下链接为快速申请链接:

环境

  • node.js ( 16 > version, 推荐使用 V16)
  • Mac / Linux / Windows

docker 部署

直接拉取镜像(推荐)

由于自己构建部分依赖安装比较慢,或者经常会卡住,所以本项目已经提前构建好发布到dockerhub了,直接pull就行了

step1: 拉取镜像

docker pull aibotk/wechat-bot

step2: 配置config/index.js

目录config/index.js中的内容按照说明配置,请注意阅读说明

step3: 启动docker

以下两个命令自己选择一个执行就行,执行的时候会下载puppet,可能会比较慢,耐心等待一下即可

1、请在项目根目录执行,这个命令是前台执行可以直接看到log日志的,但是没法关闭,只能销毁终端实例

docker run -e TZ="Asia/Shanghai" --name=chatBot --volume="$(pwd)/config/":/bot/config aibotk/wechat-bot

2、这个命令可以在后台运行,多了一个-d

docker run -e TZ="Asia/Shanghai" -d --name=chatBot --volume="$(pwd)/config/":/bot/config aibotk/wechat-bot

如何查看docker日志

自行构建docker镜像 (不建议)

需要提前安装 docker 环境,并且配置好config/index.js中的内容

docker build -t wechat-bot .
docker run wechat-bot

安装配置

视频教程: 《三步教你用 Node 做一个微信哄女友神器》

下载安装 node

访问 node 官网:http://nodejs.cn/download/,下载系统对应版本的 node 安装包,并执行安装。

  1. windows 下安装步骤详细参考 NodeJs 安装 Windwos 篇
  2. Mac 下安装详细步骤参考 NodeJs 安装 Mac 篇
  3. Linux 下安装详细步骤参考 NodeJs 安装 Linux 篇

配置 npm 源

配置 npm 源为淘宝源(重要,因为需要安装 chromium,不配置的话下载会失败或者速度很慢,因为这个玩意 140M 左右)

npm config set registry https://registry.npmmirror.com/
npm config set disturl https://npm.taobao.org/dist
npm config set puppeteer_download_host https://npm.taobao.org/mirrors

下载代码

download-project

# 如果没有安装 git,也可直接下载项目zip包
git clone https://github.com/leochen-g/wechatBot.git
cd wechatBot
npm install

项目配置

所有配置项均在 config/index.js 文件中

  // 配置文件
  module.exports = {
      // 每日说配置项(必填项)
      NAME: 'leo助手', //女朋友备注姓名
      NICKNAME: 'leo助手', //女朋友昵称
      MEMORIAL_DAY: '2015/04/18', //你和女朋友的纪念日
      CITY: '上海', //女朋友所在城市(城市名称,不要带“市”)
      SENDDATE: '0 6 8 * * *', //定时发送时间 每天8点06分0秒发送,规则见 /schedule/index.js
      TXAPIKEY: '', //此处须填写个人申请的天行apikey,请替换成自己的(自行申请天行天气和土味情话的接口) 申请地址https://www.tianapi.com/signup.html?source=474284281

      //高级功能配置项(非必填项)
      AUTOREPLY: true, //自动聊天功能 默认开启, 关闭设置为 false
      DEFAULTBOT: '0', //设置默认聊天机器人 0 天行机器人 1 图灵机器人 2 天行对接的图灵机器人,需要到天行机器人官网充值(50元/年,每天1000次)
      AUTOREPLYPERSON: ['好友1备注','好友2备注'], //指定多个好友开启机器人聊天功能   指定好友的备注,最好不要带有特殊字符
      TULINGKEY: '图灵机器人apikey',//图灵机器人apikey,需要自己到图灵机器人官网申请,并且需要认证

  }

执行

当以上步骤都完成后,在命令行界面输入 node index.js,第一次执行会下载 puppeteer,所以会比较慢,稍等一下,出现二维码后即可拿出微信扫描

执行成功后可看到

效果展示

常见问题处理 (FAQ)

问题解决基本方案:

  • 先检查 node 版本是否大于 16
  • 确认 npm 或 yarn 已经配置好淘宝源
  • 存在 package-lock.json 文件先删除
  • 删除node_modules后重新执行npm installcnpm install
  • 使用最新版《智能微秘书》,摆脱环境问题
  1. 我的微信号无法登陆

    最新版代码已经解决不能登录的问题,放心拉最新代码使用就行了

    从 2017 年 6 月下旬开始,使用基于 web 版微信接入方案存在大概率的被限制登陆的可能性。 主要表现为:无法登陆 Web 微信,但不影响手机等其他平台。 验证是否被限制登陆: https://wx.qq.com 上扫码查看是否能登陆。 更多内容详见:

    Can not login with error message: 当前登录环境异常。为了你的帐号安全,暂时不能登录 web 微信。

    [谣言] 微信将会关闭网页版本

    新注册的微信号无法登陆

  2. 类似 Failed to download Chromium rxxx 的问题 ERROR: Failed to download Chromium r515411! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.{ Error: read ETIMEDOUT at _errnoException (util.js:1041:11) at TLSWrap.onread (net.js:606:25) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }

    解决方案:puppeteer/puppeteer#1597

    npm config set puppeteer_download_host=https://npm.taobao.org/mirrors

    sudo npm install puppeteer --unsafe-perm=true --allow-root

  3. 执行 npm run start 时无法安装 puppet-puppeteer&&Chromium

    • Centos7 下部署出现以下问题 问题原因:https://segmentfault.com/a/1190000011382062 解决方案: #依赖库 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
      
    • ubuntu 下,下载 puppeteer 失败
      问题原因:https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#chrome-headless-doesnt-launch-on-unix 解决方案:

       sudo apt-get  gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
      
    • windows 下,下载 puppeteer 失败

      链接:https://pan.baidu.com/s/1YF09nELpO-4KZh3D2nAOhA 提取码:0mrz

      把下载的文件放到如下图路径,并解压到当前文件夹中即可

    • 下载 puppeteer 失败,Linux 和 Mac 执行以下命令 PUPPETEER_DOWNLOAD_HOST = https://npm.taobao.org/mirrors npm install wechaty-puppet-wechat

    • 下载 puppeteer 失败,Windows 执行以下命令

      SET PUPPETEER_DOWNLOAD_HOST = https://npm.taobao.org/mirrors npm install wechaty-puppet-wechat

  4. 如图所示问题解决办法,关闭 win / mac 防火墙;如果公司网络有限制的话也可能引起无法启动问题

  5. 支持 红包、转账、朋友圈… 吗 ?

    支付相关 - 红包、转账、收款 等都不支持

  6. 更多关于 wechaty 功能相关接口

    参考 wechaty 官网文档

  7. 希望输出运行日志相关 DEBUG 信息, 并保存到本地

    • 在运行前, 系统里输入 export WECHATY_LOG=verbose 就能将默认日志输出改为详细 (其他等级参考官方文档)
    • 保存到本地, 在支持 bash 环境的命令行中, 可以用这样的方式启动程序: node index.js 2>&1 | tee bot.log, 这样控制台和后台会同时显示/存储日志信息.

8 .CentOS 安装 better-sqlite3 报错的问题

  • 首先执行 sudo yum install centos-release-scl-rhsudo yum install devtoolset-8-build 这两个方法

  • 安装相应的gdb,sudo yum install devtoolset-8-gdb

  • 同样,也可以安装相应版本的 gcc 和 g++,sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++

  • yum安装完后,原来的gcc不覆盖,所以需要执行enable脚本更新环境变量,sudo source /opt/rh/devtoolset-8/enable

  • 可以通过加入到profile里面开机自动source, vim /etc/profile, 跳到最后一行加入以下内容,source /opt/rh/devtoolset-8/enable

参考文章 better-sqlite3

有其他问题也可添加小助手微信后,发送'加群'进入微信每日说技术交流群

注意

本项目属于个人兴趣开发,开源出来是为了技术交流,请勿使用此项目做违反微信规定或者其他违法事情。 建议使用小号进行测试,有被微信封禁网页端登录权限的风险(客户端不受影响),请确保自愿使用。因为个人使用不当导致网页端登录权限被封禁,均与作者无关,谢谢理解

最后

加好友后发送加群,会自动拉你进入群聊,同时此微信号有更多高级功能等待你的发现。

赶快亲自试一试吧,相信你会挖掘出更多好玩的功能

关注公众号:随时获取最新消息

鸣谢

感谢天行数据提供,天气,土味情话,智能机器人 api 等接口

捐助

如果您认为这个项目对你有所帮助,是否可以为它捐助一点资金呢?

不管钱多钱少,您的捐助将会激励我持续开发新的功能!🎉

感谢您的支持!

捐助方法如下:

更新日志

2023-01-30

  • 切换puppet为wechat4u,减少安装时的报错

2022-07-15

  • 升级Wechaty 到1.x,支持UOS协议

2021-05-20

  • 添加docker支持,摆脱环境困扰

2021-04-13

  • 重大更新,被限制web登录的微信也可以使用了

2021-02-08

  • 更新 wechaty 版本 2020-12-07
  • 更新 wechaty 版本

2020-04-02

  • 添加 docker 部署支持
  • 更新 wechaty 版本

2019-07-05

  • 添加垃圾分类功能,默认开启,使用方法: ?垃圾名称

2019-07-04

  • 添加天行数据的图灵机器人接口支持()

2019-07-02

  • 添加机器人多人回复配置项
  • 添加图灵机器人与天行机器人可选配置项

2019-06-27

  • 更新天气接口使用天行 api
  • 每日说添加每日情话
  • 依赖中直接加入wechaty-puppet-puppeteer安装
  • .npmrc中设置项目 npm 源为淘宝源
  • 添加错误解决方案

2019-06-16

  • 更新 wechaty 版本,更改图灵机器人为天行机器人,简化操作配置,修改说明文档,更适合小白用户

2019-03-06

  • 添加图灵机器人配置项,需要先去注册图灵机器人,网址

2019-03-04

  • 进群后播报欢迎词

2019-03-02:

  • 添加自动加好友,自动拉群可配置项
  • 重启后可维持登录状态

More Repositories

1

wechat-assistant-pro

智能微秘书,一个全能的微信机器人管理平台,最简单的方式接入 ChatGPT,FastGPT,Dify,Coze知识库,支持绘图,联网查询,语音识别,各种定时任务,支持企微、公众号、5G 消息、WhatsApp
JavaScript
1,673
star
2

wechaty-web-panel

Wechaty Web Panel 让你的wechaty机器人,快速接入web可视化操作面板,接入就是那么简单丝滑
JavaScript
434
star
3

wechat-assistant

本项目已升级为智能微秘书,请移步https://github.com/gengchen528/wechat-assistant-pro
JavaScript
379
star
4

ql-juejinhelper

稀土掘金助手-青龙版
JavaScript
85
star
5

wechaty-fanli

wechaty微信返利机器人插件
JavaScript
56
star
6

juejinAnalyze

掘金个人粉丝及关注用户数据全方位分析
JavaScript
35
star
7

alumin-connect

《校友来了》小程序,发现校友足迹,同城校友畅聊
Vue
33
star
8

douEdit

豆瓣批量操作可视化工具,摆脱重复工作
JavaScript
26
star
9

wechat-assistant-engine

智能微秘书engine版本
JavaScript
15
star
10

juejinSpider

基于mongodb+express+vue+axios+bootstrap的掘金最热文章收藏评论分析
JavaScript
11
star
11

wechaty-face-cartoon

wechaty人像动漫化插件
JavaScript
11
star
12

worker-assistant

智能微秘书-【企微版】
JavaScript
10
star
13

student_score

基于PHP的计算机等级考试管理系统
PHP
8
star
14

vue-project

基于VUE的电影购票客户端,仿娱票小程序
JavaScript
8
star
15

barcode

手机端H5页面,二维码barcode控件扫描实现,手机端选项卡布局实现
JavaScript
8
star
16

engine-assistant

智能微秘书engine 源码版本
JavaScript
8
star
17

imgSpider

在线图片下载工具,解析站酷,UI中国等高清原图,并打包下载
JavaScript
8
star
18

wechat-assistant-pro-ipad

智能微秘书ipad协议版本
JavaScript
8
star
19

qiya-cli-express-template

基于express的纯后端脚手架,支持jwt验证,Joi参数校验,支持mysql的orm框架sequelize
JavaScript
6
star
20

qiya-cli

一个脚手架工具,方便日常开发
JavaScript
5
star
21

wechaty-dice-king

Wechaty 卡牌抽取游戏插件,类似骰娘https://v2docs.kokona.tech/zh/latest/CookBook.html
TypeScript
4
star
22

whatsapp-assistant

智能微秘书-whatsapp版本,WhatsApp智能对话机器人
Dockerfile
4
star
23

express-vue

基于express与vue-cli结合的前后端框架
JavaScript
3
star
24

dateRanges

二次封装时间选择插件,相对绝对时间范围选择
JavaScript
3
star
25

walnut-aibot

5G智能微秘书客户端
JavaScript
2
star
26

HomeTep

基于android和Arduino的智能体温计(android程序)
Java
2
star
27

Temp_arduino

基于android和Arduino的智能体温计(arduino程序)
Arduino
2
star
28

wechaty-puppet-engine-demo

wechaty-puppet-engine-demo
TypeScript
1
star
29

arduino

基于arduino的智能控制系统
Arduino
1
star
30

wechat-assistant-eletron

智能微秘书electron版
JavaScript
1
star
31

webpackSample

webpackSample,一个完整的webpack配置
JavaScript
1
star