基于wechaty的个人机器人

本文讲述了作者在暑期2020期间使用wechaty库开发个人机器人的过程,遇到并解决的问题,包括安装依赖、好友验证、查找联系人、智能聊天接口的实现。在开发中,作者通过添加二维码包解决显示问题,通过自我介绍解决好友验证同步问题,以及通过load方法找到Contact中的用户。最后,使用axios添加智能聊天接口。项目源码已开源。
摘要由CSDN通过智能技术生成

参加了wechaty社区的暑期2020,遂使用wechaty写一个机器人。

我本以为这不是一件特别难的事情……事实上也并没有很难,在我这种语法不熟,英语垃圾,一片迷茫的前提下,还是通过wechaty的文档和前人的开发经验完成了自己的wechaty。

在开发过程中还是遇到了一些问题,在这里总结一下。

首先是安装wechaty以后也要记得安装二维码的包……否则终端没有二维码。(这个应该也可以把二维码地址输出到控制台,然后用浏览器打开扫描)

在添加好友验证的时候,通过好友验证速度太快,发送请求的账号好友列表里面还没这个新好友……但是这个好友列表里面是有请求者的。然后我做了一个自我介绍,这样请求者的好友列表就正常了(我也不知道为啥)。

在加好友验证的时候,我需要一个bot.Contact来帮我查找这个人,但是传递到friend里面的只有friendship参数。我参考了一个作者的写法是传递参数的时候传递一个bot过去,后来又修改成export bot,然后在另一个文件中require引入。(这其中我还碰到了import和require的问题,export和module.export以及export default的问题……最后也没成功解决)

接着碰到的问题就是我要通过请求后在friend类里面的id来找到Contact里面的这个请求用户,一开始我误以为是find,后来查阅官方文档发现find只能通过name或者alias,通过contactId来查找应是load。

最后最后我添加了axios插件,增加一个智能聊天接口,帮助机器人完成时时陪聊的功能……

前期准备:

npm init

npm install wechaty

npm install wechaty-puppet-padplus

npm install --save qrcode-terminal

项目结构

其中JOE.memory-car.json是自动生成的

并且我并不喜欢在config中放置太多东西,感觉阅读起来很麻烦。

index.js:


```javascript
const {
    Wechaty } = require("wechaty"); // Wechaty核心包

const {
    PuppetPadplus } = require("wechaty-puppet-padplus"); // padplus协议包

const Qrterminal = require("qrcode-terminal");//二维码包

const bot = new Wechaty({
   

  puppet: new PuppetPadplus({
   

    token: 'puppet_padplus_dd54e2b49f8b4217'

  }),

  name: 'JOE'

})

module.exports=  bot 

//const onRoomJoin = require("./onRoomJoin")

const message = require("./Message")

const friendShip 
Wechaty 是一款基于 Java 的库,用于自动化微信(WeChat)消息的处理与互动,它可以帮助开发者构建机器人,让机器人能够自动响应、发送信息、处理事件等操作。这款库的目标是为了简化微信业务流程的自动化任务,使得企业、开发者和其他组织能够通过编写代码将机器人的功能集成到他们的应用和服务中。 Wechaty 提供了丰富的 API,允许用户通过简单的调用来执行一系列复杂的微信交互动作。例如: - **登录与会话管理**:支持通过扫码登录微信,维护用户的聊天记录和联系人列表。 - **消息发送与接收**:可以发送文字、图片、语音、视频等各种类型的消息,并监听来自其他用户的实时消息。 - **事件触发**:当特定事件发生时(如收到新消息、好友添加请求等),可以调用预设的回调函数进行处理。 - **群组与个人对话**:支持加入群聊、参与群聊讨论以及管理群成员。 - **自动化脚本**:编写自动化脚本来定时执行任务,比如每天早上提醒用户检查邮件、自动回复等。 ### 使用 Wechaty 开发的步骤大致如下: 1. **安装依赖**:首先需要在项目中添加 Wechaty 和其依赖库的支持,通常可以通过 Maven 或者 Gradle 来进行依赖管理。 2. **初始化 Wechaty 对象**:创建并配置 Wechaty 实例,包括设置登录凭证和加载插件。 3. **注册事件处理器**:为特定的微信事件(如接收到新消息、好友申请等)注册处理器函数。 4. **执行操作**:利用 Wechaty 提供的 API 执行各种微信相关的操作,如发送消息、处理事件等。 5. **运行程序**:启动程序,让机器人开始工作,监听并响应微信事件。 6. **调试与优化**:根据实际需求调整机器人的行为,可能涉及修改事件处理器或添加新的功能。 尽管 Wechaty 提供了一种便利的方式来与微信进行互动,但它也存在一些限制和考虑事项,比如隐私政策、账号安全、合规性等问题,因此在使用时应充分考虑到这些因素。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值