[TOC]
## 简介
微信消息转接器是基于微信网页版的API实现的消息转接器,它是基于[wechat](https://github.com/KevinGong2013/wechat)包开发的。
使用微信消息转接器需要你有一个多余的微信号来充当机器人。
## 配置机器人
微信消息转接器的注册名称为 `wechat`,当我们需要使用它时,需要将 `ROBOT_ADAPTER` 配置为 `wechat`。
```env
...
ROBOT_ADAPTER=wechat
```
## 传入消息(Incoming)
当用户将命令发给机器人时,微信转接器会将消息做以下处理:
- 记录发送者、消息来源和接收者
- 记录是否为 `AtMe` 消息,boolen 类型。此消息将会删除 `@xxx` 前缀
- 记录消息是否来自群组`GroupMsg`,boolen 类型。
- 记录消息是否是好友发送`IsFriend`,boolen 类型。
- 记录消息是否来自自己 `SendByMySelf`,boolen 类型。
发送者、消息来源和接收者记录在消息体中,其他都记录在`Header`中,最后转接器将消息存入 `incoming` 通道中,等待机器人获取消息。
## 传出消息(Outgoing)
消息通过脚本解析执行后会将处理结果发送给用户,脚本可以发送转接器支持的消息类型到客户端。
微信网页版支持的消息类型很有限,只能支持文本消息和文件消息。
其中**文件消息**需要将发送的文件放到`Header`中,key为`file`,支持多个文件,但文件尺寸不能太大。
> 消息格式不需要注明
## 同步微信用户
微信转接器提供了用户同步的功能,当登录和用户信息发生改变时,会自动将用户通过`Brain`存入缓存中,其中`bucket` 固定为**user**,`key`为用户ID,`value`为用户名