用「Wechaty」和「微信对话开放平台」做个助理

本文介绍了如何使用Wechaty库和微信对话开放平台创建一个微信助手,该助手能自动回复常见问题,转接未匹配到的回答,并在检测到负面情绪时建立群聊进行人工介入。通过代码示例展示了从接入到实现各种功能的全过程。
摘要由CSDN通过智能技术生成

WWC(Women Who Code) 邀请,我在线上分享了如何用「Wechaty」和「微信对话开放平台」做个助理帮助回答常见问题。

活动介绍: https://mp.weixin.qq.com/s/6HyEZlwWbuRGY9T_KotXEw

wechaty-weixin-openai

随着社会节奏的不断变快,每天,我都有越来越多的微信消息需要回复,其中不乏很多重复的问题反复找到我。作为一个程序员,都是不愿意在重复的工作中浪费自己宝贵的时间的。这次,将给大家分享如何用 Wechaty 和 OpenAI 创建一个属于你的个人助理,帮助你来处理那些重复的问题,解放你的时间。

我们要做什么?

一个微信助理机器人带有以下功能:

  • 我@他,并且提问的时候,自动把准备好的材料等都发出来
  • 别人问他的时候,可以自动匹配到常见问题并回答
  • 当没有匹配到回答的时候,转接给我
    • 消息在群里且我在群里:@我让我回答
    • 私聊或者我不在群里:把我的名片发出来,引导加我好友

我们需要通过代码来控制微信

这个时候就是 Wechaty 大显身手的时候了,下面是接入代码:

import {
       Wechaty, Message, UrlLink } from 'wechaty'
import {
       PuppetPadplus } from 'wechaty-puppet-padplus'
import {
       EventLogger, QRCodeTerminal } from 'wechaty-plugin-contrib'

import {
       padplusToken } from './const'

const puppet = new PuppetPadplus({
      
  token: padplusToken,
})

const bot = new Wechaty({
      
  name: 'wwc-agent',
  puppet,
})

bot.use(EventLogger())
bot.use(QRCodeTerminal({
       small: true }))

bot.start()

代码很简单,就是创建了一个 puppet 的实例,然后作为参数传给了 Wechaty 的构造函数,创建了一个新的 Wechaty 实例,然后启动了 Wechaty 实例。

中间用到了两个插件,一个是 EventLogger,可以把所有的 Wechaty 事件都打印到控制台中,另外一个是 QRCodeTerminal,可以把扫码事件里面的二维码直接打印到控制台,方便扫码登录。

上面的代码运行起来,就能看到命令行里打印的二维码,扫码之后就可以看到账号登录啦,效果如下:

19:27:44 INFO WeixinOpenAI constructor(your-, your-opena)
19:27:44 INFO PuppetPadplus start()
19:27:47 INFO WechatyPluginContrib EventLogger heartbeat:
19:27:48 INFO WechatyPluginContrib EventLogger scan: http://weixin.qq.com/x/QfsfuToGOs-EVGgaa-gn,2,

19:27:48 INFO WechatyPluginContrib QRCodeTerminal Login QR Code Status: Waiting(2)
QR Code Image URL: https://wechaty.js.org/qrcode/http%3A%2F%2Fweixin.qq.com%2Fx%2FQfsfuToGOs-EVGgaa-gn
19:27:55 INFO PadplusManager
            =================================================
            QRCODE_SCAN MSG : 已扫码,请在手机端确认登陆...
            =================================================

19:27:55 INFO WechatyPluginContrib EventLogger scan: ,3,
19:27:55 INFO WechatyPluginContrib QRCodeTerminal onScan: Scanned(3)
19:27:57 INFO PadplusManager
            =================================================
            QRCODE_SCAN MSG : 已确认
            =================================================

19:27:57 INFO WechatyPluginContrib EventLogger scan: ,4,
19:27:57 INFO WechatyPluginContrib QRCodeTerminal onScan: Confirmed(4)
19:28:03 INFO WechatyPluginContrib EventLogger heartbeat:
19:28:03 INFO WechatyPluginContrib EventLogger login: Contact<小助手>

实现素材推送

这一步就比较容易,简单的代码逻辑实现一下就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值