新玩具!微信Nodejs版,可编程控制微信消息
发布于 9 年前 作者 ifeiteng 8143 次浏览 最后一次编辑是 8 年前 来自 分享

前言

过年的时候加入了泰稳大大主持的精进学堂 读书运动群,并主动请缨进入了策划组,因为要实行积分制,所以作为coder的我提出做一个群机器人,于是便有了这个项目,我也是近一阵才开始分析网页版微信的各种参数,所以还不太健全,欢迎pr <img src="//dn-cnode.qbox.me/FgA_XND-brK_k_XBszs5PwVVIT4l" width = “320” height = “480” alt=“群” align=center />

安装

npm install weixinbot --save

实例

// Require Nodejs v4+

// index.js
const Weixinbot = require('weixinbot')

// will send qrcode to your email address
const bot = new Weixinbot({ receiver: 'your@email.com' })

// will emit when bot fetch a new qrcodeUrl
bot.on('qrcode', (qrcodeUrl) => {
  console.log(qrcodeUrl)
})

bot.on('friend', (msg) => {
  console.log(msg.Member.NickName + ': ' + msg.Content)
  bot.sendText(msg.FromUserName, 'Got it')
})

bot.run()

运行

# 建议打开DEBUG标志,以便查看详细信息
DEBUG=weixinbot node index.js

项目地址

16 回复

挺好的,写的比较规范,就是单个文件内代码太多,适当拆分一下

微信干脆开放api好了2333 @stonexer 来看看

@reverland 哈哈哈哈,坐等第三方客户端

@stonexer geeeeeeek已经做了

@reverland 嗯啊,那个看上去是在微信 webapp 基础上的吧。

接收好友消息时有问题,比如有时候消息内容msg.Content是这样的:

&lt;msg&gt;<br/>&lt;op id='5'&gt;<br/>&lt;username&gt;919338054@chatroom&lt;/username&gt;<br/>&lt;/op&gt;<br/>&lt;/msg&gt;

应该是没有正确解析XML导致的。

const qrcode = require('qrcode-terminal');

// 直接在控制台上打印二维码
bot.on('qrcode', (qrcodeUrl) => {
  qrcode.generate(qrcodeUrl.replace('/qrcode/', '/l/'), console.log);
});

挺有意思的

来自酷炫的 CNodeMD

@stonexer 嗯,electron,刁刁的

群消息呢??

回到顶部