背景:刚使用wechaty的时候,对一个不熟悉初学者来说,看官方文档比较费时间,所以把方法和描述集合在一张表上,再使用的时候找对应的方法会比较直观。
中文文档:
介绍 - Wechatyhttps://wechaty.gitbook.io/wechaty/v/zh/
Message
所有的微信消息会被封装成一个Message 类
方法 | 描述 | 类型 |
---|---|---|
.from() | 获取发送消息的联系人 | Contact | null |
.to() | 获取消息发送的联系人。在微信群中,Message.to() 会返回null,使用Message.room()获取微信群信息。 | Contact | null |
.room() | 获取消息所在的微信群,如果这条消息不在微信群中,会返回null | Room | null |
.text() | 获取消息的文本内容。 | string |
.toRecalled() | 获取撤回消息的文本内容。 | |
.say(textOrContactOrFile, [mention]) | Promise | |
.type() | 获取消息的类型 | MessageType |
.self() | 查看这条消息是否为机器人发送的。 | boolean |
.mention() | 获取在群中@的用户列表。 | Promise |
.mentionSelf() | 获取机器人是否在群里被@ 了 | Promise |
.forward(to) | 转发收到的消息 | Promise. |
.date() | 消息发送的时间 | |
.age() | 消息的时差 | number |
.toFileBox() | 从消息中提取多媒体文件并把它 存入到FileBox 里面。 | Promise |
.toContact() | 提取转发的微信好友名片内容,并封装成Contact 类型。 | Promise |
.find() | 在缓存中找消息。 | |
.findAll() | 在缓存中找消息 |
Contact
所有的联系人(好友)都会被封装成Contact 类实例
方法 | 描述 | 类型 |
---|---|---|
.say(textOrContactOrFileOrUrl) | 这个功能是否能实现取决于你使用的是哪一个Puppet, 详情参考:puppet兼容性列表 | Promise |
.name() | 获取联系人的昵称 | string |
.alias(newAlias) | 获取/设置/删除 好友的备注。 如果设置备注过于频繁,设置将会失效(比如1分钟设置60次) | Promise |
.friend() | 判断这个联系人是否为机器人的好友 | boolean | null |
.type() | 获取好友的类型,是公众号还是普通还有。 | ContactType.Unknown | ContactType.Personal | ContactType.Official |
.gender() | 获取联系人的性别 | ContactGender.Unknown | ContactGender.Male | ContactGender.Female |
.province() | 获取联系人设置的省份信息 | string | null |
.city() | 获取联系人设置的城市信息 | string | null |
.avatar() | 获取联系人的头像 | Promise |
.sync() | 强制重新加载好友数据,会从低级别的 API 中重新同步一遍。 | Promise |
.self() | 检测好友是否是机器人自己。 | boolean |
.find(query) | 通过类似这样的命令查找联系人: {name: string | RegExp} / {alias: string | RegExp} 支持通过昵称或者备注查找。如果查到不止一个联系人,返回找到的第一个 | Promise |
.findAll([queryArg]) | 通过name (昵称)或者alias(备注)查找联系人。 用 Contact.findAll() 获取机器人的所有联系人列表。 | Promise |
ContactSelf
机器人自己的信息将会封装一个ContactSelf 类. 这个类继承自 Contact
方法 | 描述 | 类型 |
---|---|---|
.avatar() | 获取机器人的头像 | Promise |
.avatar(file) | 设置 机器人的头像 | Promise |
.qrcode() | 获取机器人的二维码 | Promise<string> |
.name() | 获取 机器人昵称 | string |
.name(name) | 修改机器人昵称 | Promise<string> |
.signature(signature) | 修改机器人签名 | Promise<void> |
Room
所有的微信群都会被封装成 Room 类
方法 | 描述 | 类型 |
---|---|---|
.sync() | 强制加载群的数据,从底层API 重新加载数据 | Promise <void> |
.say(textOrContactOrFileOrUrl, ...mentionList) | 在群内发消息,如果设置了 ...mentionList 参数,机器人在群内发送消息的时候还会@这些联系人 | Promise <void> |
.add(contact) | 邀请好友加入群聊 | Promise <void> |
.del(contact) | 将好友移出群聊,这个功能仅在机器人是群主的时候会生效 | Promise <void> |
.quit() | 机器人主动退群 | Promise <void> |
.topic([newTopic]) | 设置 / 获取 群名称 | Promise <void | string> |
.announce([text]) | 设置 / 获取 群公告 | Promise <void | string> |
.qrcode() | 获取群二维码,用户可以通过扫描这个二维码加入群聊 | Promise <string> |
.alias(contact) | 获取这个联系人在群内的群昵称 | Promise <null | string> |
.has(contact) | 检查群内是否有这个群成员 | Promise <boolean> |
.memberAll([query]) | 根据 query 获取群内所有的群成员列表。如果没有设置query,返回所有的群成员信息 | Promise <Contact []> |
.member(query) | 根据 query 获取群内的群成员 | Promise <null | Contact> |
.owner() | 获取群主的信息 | Contact | null |
.avatar() | 获取群头像的信息 | Promise <FileBox> |
.create(contactList, topic) | 创建群聊 | Promise <Room> |
.findAll([query]) | 通过 {topic: string | RegExp}, 查找群,返回找到的所有群的数组。 | Promise <Room []> |
.find(query) | 通过 {topic: string | RegExp}, 查找群,如果找到多个群,返回找到的第一个群。 | Promise <Room> |
RoomInvitation
自动通过入群邀请
方法 | 描述 | 类型 |
---|---|---|
.accept() | 自动通过入群邀请 | Promise <void> |
.inviter() | 获取发送入群邀请的联系人 | Promise <Contact> |
.topic() | 获取需要进的群的群名称. | Promise <string> |
.date() | 获取发送入群邀请的时间 | Promise <Date> |
.age() | 获取入群邀请的时间间隔。 | Promise <number> |
Friendship
发送,接受好友请求的Class
方法 | 描述 | 类型 |
---|---|---|
.accept() | 通过好友请求 | Promise <void> |
.hello() | 获取对方发送好友请求的验证信息 | string |
.contact() | 获取发送好友请求的联系人 | Contact |
.type() | 返回好友请求的类型 | FriendshipType |