使用nodejs + wecharty打造你的个人微信机器人
注: 从2017年6月下旬开始,使用基于web版微信接入方案存在大概率的被限制登陆的可能性。 主要表现为:无法登陆Web 微信,但不影响手机等其他平台。 验证是否被限制登陆: https://wx.qq.com 上扫码查看是否能登陆。 更多内容详见:
Can not login with error message: 当前登录环境异常。为了你的帐号安全,暂时不能登录web微信。
网页版不能登录就不用往下看啦,此库用的是网页版的协议。
克隆代码
git clone git@github.com:isnl/wechat-robot.git
目录结构
config
存放公共配置以及superagent
请求相关配置imgs
存放相关图片listeners
存放机器人初始化后一系列callbackon-friendship.js
处理好友请求on-login.js
处理登录on-message.js
处理用户消息、群消息on-scan.js
处理登录二维码
schedule
对node-schedule
进行了封装superagent
存放所有的数据请求、接口封装都在此utils
公用方法的封装app.js
入口文件
主要依赖
- wechaty 个人微信账号的微信机器人 SDK
- superagent 数据请求
- cheerio nodejs版jQuery,用于抓取页面内容
- node-schedule 一个在nodejs中设置定时任务的库
- qrcode-terminal 在控制台打印二维码
安装依赖
依赖中需要安装chromium
,使用npm会下载失败或者很慢,国内嘛你懂得
强烈推荐 使用cnpm
安装依赖
cnpm install //npm install
实在不想用cnpm可以将npm源切换成淘宝源
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
npm config set puppeteer_download_host https://npm.taobao.org/mirrors
修改config
配置
打开config/index.js
文件,将里面的配置改为自己的。
修改天行接口配置
天行api官网 :https://tianapi.com/
注册成功后,申请以下接口:
注册后请打开superagent/index.js
,将顶部APIKEY
改为自己天行api的key
即可
其他免费接口可随意申请,自行扩展~
运行测试
cnpm start //npm start
此项目基于 https://github.com/gengchen528/wechatBot 衍生而来。
较此工程有以下几个功能:
- 热更新,修改代码后免重启,便于在线调试。
- 新增全国肺炎、各省市肺炎数据,按关键字回复即可。
- 添加好友自动同意请求
- 添加转大小写、颜色的rgb与base64互转等小工具。
- 每日毒鸡汤、神回复、英语一句话、实时毒鸡汤。
- 发送加群命令邀请好友进群。
- 采集京东联盟高佣商品,京粉转链后发送至指定群。
- 按指令获取百度云文件,分享给用户下载链接及提取码。
底层api都是基于 wechaty
更多微信消息、群消息、好友、对话等相关api可查阅官方文档 wechaty官方文档
有问题提issues 或者添加机器人微信,发送 交流群 即可拉你进群
使用nodejs + wecharty打造你的个人微信机器人的更多相关文章
- phantomjs + python 打造一个微信机器人
phantomjs + python 打造一个微信机器人 1.前奏 媳妇公司不能上网,但经常需要在公众号上找一些文章做一些参考,需要的时候就把文章链接分享给我,然后我在浏览器打开网页,一点点复制过 ...
- python+爬虫+微信机器人 打造属于你的网购价格监督利器
写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...
- Golang 微信机器人包
一. 最近用在学习golang,写了个小工具练练手.通过golang模拟微信网页端,接收微信服务器的消息并定制.可接入图灵机器人的api实现一个微信机器人的小玩具,当然了,可以有更多更好玩的玩法. 二 ...
- 这是一款借助chrome 插件的微信机器人
1.chrome kit微信机器人简介 借助chrome 插件 js注入来实现消息的发送 chrome devtool api的调用来监听https请求 打开微信登录界面,在扫码登录前必须先打开too ...
- python使用itchat库实现微信机器人
itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友.添加好友.拉好友群聊.微信机器人等等.详细用户请看文档介绍,在这里. 本文主要使用该库完成一个能够处理微 ...
- Python创建微信机器人
微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:因为是微信机器人系列的 ...
- 第一讲 新手如何学习HTTP协议之实践项目多开微信机器人
上一篇做了一个smart qq机器人. 前几天,因为突然上不了 smart qq,以为TX 要抛弃了..所以就没有接着完善smart 机器人.应朋友要求,做一个多开微信. 做了几天已经做好了,理论上 ...
- 微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱
微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱 微信搜索微信号 fanli-x 或 扫描下方二维码,可查看效果. 非web版微信,pc/移动版微信 支持新号24小时 不封号! 有任 ...
- Python自制微信机器人:群发消息、自动接收好友
运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求.群发文章.自动回复等操作,但颇有不便. 举几个场景: 突然在外面看到一篇文章很好,临时写了一篇,想群发一 ...
随机推荐
- 【开源】使用Angular9和TypeScript开发RPG游戏(20200410版)
源代码地址 通过对于斗罗大陆小说的游戏化过程,熟悉Angular的结构以及使用TypeScript的面向对象开发方法. Github项目源代码地址 RPG系统构造 ver0.03 2020/04/10 ...
- int不可为null引发的 MyBatis做持久层框架,返回值类型要为Integer问题
MyBatis做持久层框架,返回值类型要为Integer MyBatis 做持久层时,之前没注意,有时候为了偷懒使用了int类型做为返回的类型,这样是不可取的,MyBatis做持久层框架,返回值类型要 ...
- 跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consiste ...
- python 函数简介
一.为什么要有函数? 不加区分地将所有功能的代码垒到一起,问题是: 代码的可读性差. 代码冗余 代码可扩展性差 如何解决? 函数即工具,事先准备工具的过程是定义函数,拿来就用指的是函数调用. 什么是函 ...
- Linux 文件管理篇(四 文件查找)
显示脚本文件或者命令的路径 which 显示档案的路径(数据库中查找,较快) ...
- npm install报错:chromedriver@2.27.2 install: node install.js
报错: 刚开始以为是 node 或 npm 版本问题,前前后后折腾了好久,终于解决了 解决: 如果执行过npm install,先删除 node_modules 文件夹,不然运行的时候可能会报错 执行 ...
- 中阶d03 JDBC 使用
1.首先在数据库中创建表 2.安装mysql驱动 java开发环境中导入jdbc连接mysql的jar包 mysql-connector-java-5.1.7-bin.jar 下载地址:https:/ ...
- 动手学Transformer
动手实现Transformer,所有代码基于tensorflow2.0,配合illustrated-transformer更香. 模型架构 Encoder+Decoder Encoder Decode ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(四)之Operators
At the lowest level, data in Java is manipulated using operators Using Java Operators An operator ta ...
- webWMS开发过程记录(一)- 软件开发的流程
前言:计划开发一个webWMS,并将开发过程比较完整的记录下来.希望可以完成这个目标 软件开发的流程: 1. 了解该项目的相关概念. 了解所要开发的软件属于什么产品.该产品的基本定义是什么?基本功能模 ...