# 被动回复用户消息
[toc]
当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复。
## 回复文本消息
```php
//消息管理模块
$instance = WeChat::instance('message');
//关注用户扫描二维码事件
if ($instance->isTextMsg())
{
$message = $instance->getMessage();
//向用户回复消息
$instance->text("你发送的内容是".$message->Content);
}
```
## 回复图文消息
```php
//消息管理模块
$instance = WeChat::instance('message');
if ($instance->isTextMsg())
{
//向用户回复消息
$news=array(
array(
'title'=>'标题',
'discription'=>'描述',
'picurl'=>'http://www.johnxu.net/1.jpg',
'url'=>'点击图文消息跳转链接'
),
array(
'title'=>'快学网',
'discription'=>'快学网 快人一步',
'picurl'=>'http://www.johnxu.net/2.jpg',
'url'=>'点击图文消息跳转链接'
),
)
$instance->news($news);
}
```
## 回复语音消息
```php
//消息管理模块
$instance = WeChat::instance('message');
if ($instance->isTextMsg())
{
//向用户回复消息
//$media_id 通过素材管理接口上传多媒体文件得到的media_id
$instance->voice($media_id);
}
```
## 回复视频消息
```php
//消息管理模块
$instance = WeChat::instance('message');
//关注用户扫描二维码事件
if ($instance->isTextMsg())
{
//向用户回复消息
//$video=array('media_id'=>'素材id','title'=>'视频标题','description'=>'描述');
$instance->video($video);
}
```
## 回复音乐消息
```php
//消息管理模块
$instance = WeChat::instance('message');
//关注用户扫描二维码事件
if ($instance->isTextMsg())
{
//向用户回复消息
//$video=array('title'=>'音乐标题','description'=>'描述','musicurl'=>'音乐链接','hqmusicurl'=>'高质量音乐链接,WIFI环境优先使用该链接播放音乐','thumbmediaid'=>'缩略图的媒体id,通过素材管理接口上传多媒体文件');
$instance->video($video);
}
```