diff --git a/消息的使用.md b/消息的使用.md
new file mode 100644
index 0000000..ce4b6a2
--- /dev/null
+++ b/消息的使用.md
@@ -0,0 +1,53 @@
+我把微信的API里的所有“消息”都按类型抽象出来了,也就是说,你不用区分它是回复消息还是主动推送消息,免去了你去手动拼装微信那帮SB那么恶心的XML以及乱七八糟命名不统一的JSON了,我帮忙你承受这份苦。
+
+### 消息的类型及属性
+
+| 消息类型 | 类型名称 | 属性 | 除属性自身外提供的方法 |
+|----------|----------|----------------------------------------------------------------------------------|-------------------------------------------|
+| 文本 | `text` | `content` 内容 | |
+| 图片 | `image` | `media_id` 媒体资源id | `media($path)` |
+| 声音 | `voice` | `media_id` 媒体资源id | `media($path)` |
+| 音乐 | `music` | `title` 标题
`description` 描述
`url` 音乐URL
`hq_url` 高清URL
`thumb_media_id` 封面资源id | `thumb($path)` |
+| 视频 | `video` | `title` 标题
`description` 描述
`media_id` 媒体资源id
`thumb_media_id` 封面资源id | `media($path)`
`thumb($path)` |
+| 位置 | `location` | `lat` 地理位置纬度
`lon` 地理位置经度
`scale` 地图缩放大小
`label` 地理位置信息 | |
+| 链接 | `link` | `title` 标题
`description` 描述
url 链接URL | |
+
+### 创建消息
+
+**请注意:消息类的命名空间为 `Overtrue\Wechat\Services\Message`**
+
+```php
+on('event', 'subscribe', function($event){
+ return Message::make('text')->content('您好!欢迎关注overtrue');
+});
+```
+
+这里有一点需要注意,当属性带下划线的时候,方法名是支持两种的:`media_id()` 或者 `mediaId()` 都一样。
+
+### 上传媒体文件
+
+
+```php
+$message = Message::make('image')->media('D:/test/demo.jpg');
+```
+
+媒体文件你不用上传,也就是说media_id是我来维护,你直接传本地文件就好了。
+方法`media($file)`会上传文件然后赋值到`media_id`属性。如果想要获取上传后的media_id:
+
+```php
+$mediaId = $message->media_id;
+```
+
+#### 这里有两个方法用于设置媒体文件:
+
+- `media($file)` 对应设置 `media_id`
+- `thumb($file)` 对应设置 `thumb_media_id`
\ No newline at end of file