# 快速回复
有时候,你想要通过返回值来快速回复一个消息而不是通过`MsgSender`送信器来写一串昂长的代码。
mirai组件支持快捷回复响应,你可以通过返回一个`Map<String, Object>`类型的返回值,并在其中指定一些特殊的参数,即可实现快速响应。
## **特殊参数**
当返回值为`Map` 类型的时候,组件会对其中的部分内容进行解析:
### **消息类型响应**
当你监听的是一个消息类型的事件的时候(例如私聊消息、群消息),组件会解析返回值`Map`中的以下参数:
* **reply**
对消息发送者的回复消息内容。
* **quote**
是否引用消息发送者的消息。**只有在群消息响应的时候才生效。**
* **at**
是否at消息发送者。**只有在群消息响应的时候才生效。**
### **请求类型响应**
当你监听的是一个请求类型的事件的时候(例如申请加群、被邀请入群、新好友申请),组件会解析返回值`Map`中的以下参数:
* **reply**
对请求的处理方式。
如果为`true`、`"agree"`、`"accept"`,则代表同意此申请。
如果为`false`、`"reject"`、`"refuse"`,则代表拒绝此申请。
如果为`"ignore"`,则代表忽略此次申请。
## **Reply 响应消息类**
mirai组件中针对于上述的解析提供了一个简易的封装类`Reply`,你可以通过此类的`builder`或者其他静态方法来快速响应一个事件。
```java
// 消息类型的响应
Reply r1 = Reply.getBuilder()
.reply("reply") // 响应消息
.at() // at当事人
.quote() // 引用当事人的消息
.build(); // 构建Reply
// 请求类型的响应
// 同意某申请
Reply agree = Reply.getAgreeReply();
// 拒绝某申请
Reply reject = Reply.getRejectReply();
// 忽略某申请
Reply ignore = Reply.getIgnoreReply();
// 快捷回复消息,群聊中默认会at当事人并引用当事人的消息
Reply reply1 = Reply.getMessageReply("reply");
// 快捷回复消息,不引用当事人消息,但是会at当事人
Reply reply2 = Reply.getMessageReply("reply", false);
// 快捷回复消息,不引用当事人消息,也不at当事人
Reply reply3 = Reply.getMessageReply("reply", false, false);
```
`Reply`实现Map接口,在构建后不可修改其参数。
- 前言
- 简单介绍
- 我该如何阅读文档
- 视频教程
- 安装与使用
- 开源协议
- 免责&捐助
- 注意事项
- 版本命名规则简介
- 主要功能版本历史
- 功能指引
- 通用API与功能
- 国际化语言
- 异常
- 消息监听
- @Listen
- @OnListen模板
- @Filter
- 消息参数截取
- @Spare
- @Constr
- @Ignore
- @ListenBreak
- @ListenBreakPlugin
- @ListenBody
- 监听响应
- 成功判定与返回值
- 监听上下文
- 动态参数
- 监听消息API
- 异步监听 @Async
- 限流监听 @Limit
- 自定义Http送信器
- 枚举与类型
- 送信器
- SENDER
- SETTER
- GETTER
- 返回值
- 其他位置
- 日志与日志拦截
- 异常处理
- 依赖注入
- 自定义依赖获取
- 批量依赖载入
- 注意事项
- 常量
- 定时任务
- 自定义过滤
- 拦截器
- 拦截器总定义
- 上下文对象总定义
- 监听消息拦截
- 送信器拦截
- 监听函数拦截
- CAT码
- CQ码
- CQCode
- CQ码工具类
- CQ扩展工具类
- AppendList拼接链
- 高级内容
- 阻断机制
- 截断机制
- 自定义枚举类型
- 枚举工厂
- byName注解
- 自定义注解
- 配置
- 文件配置
- 注解配置
- 参数配置
- 多配置
- 多账号
- 自定义账号管理器
- 小心!
- 核心版本与组件如何升级核心
- 核心版本迭代指南
- 核心
- 更新日志
- jar包与依赖
- 监听消息类结构图
- 快速启动
- 模组与扩展
- 模组开发
- 现有模组
- 通用模组-延时任务
- 通用模组-CQ码工具
- 转义器
- CQ码操作工具类
- CQ码模板-CodeTemplate
- CQ码载体-KQCode
- CQ码构建器
- MQ码工具类
- 通用模组-redis-bot管理器
- 通用模组-Debugger
- Debugger-common模块
- Debugger-server模块
- Debugger-client模块
- 通用模组-钉钉机器人
- 组件-Mirai(JVM)
- 快速开始(1.13+)
- springboot-starter
- 注意事项
- 配置
- 额外的内容
- 快速回复
- 额外监听
- CQ码解析
- 组件-酷Q(QQ)-CQ HTTP API(基本失效)
- 快速开始(推荐)
- 快速开始(1.7.x以下,不推荐)
- 快速开始(Springboot启动器)
- 启动器、启动接口与配置类
- 配置
- 文件配置
- 注意事项
- 更新日志
- 额外的内容
- 自定义额外监听
- CQ送信器
- 元事件
- 监听消息类结构图
- 组件-酷Q(QQ)-JCQ(失效)
- 快速开始
- 更新日志
- 额外的内容
- JCQ日志
- 配置
- 注意事项
- 监听消息类结构图
- 组件-酷Q(QQ)-HTTP TO CQ(失效)
- 快速开始(核心1.7.x及以下)
- 启动器、启动接口与配置类
- 配置
- 文件配置
- 注意事项
- 更新日志
- 监听消息类结构图
- 组件-酷Q(QQ)-LEMOC (失效)
- 快速开始(核心1.7.x及以下)
- 配置
- 注意事项
- 更新日志
- 监听消息类结构图
- Springboot快速启动器
- 常见问题汇总
- BUG反馈
- 更新计划总览