• UIKit
  • SDK
  • 服务端 API
Chat/
SDK/
Web/
消息/
SDK
  • 集成 SDK
  • 初始化
  • 登录登出
  • 接口列表
  • 更新日志
  • 消息
    • 介绍
    • 发送消息
    • 接收消息
    • 历史消息
    • 转发消息
    • 修改消息
    • 删除消息
    • 清空消息
    • 撤回消息
    • 在线消息
    • 已读回执
    • 查询消息
    • 群定向消息
    • 消息免打扰
    • 消息扩展
    • 消息翻译
  • 会话
    • 介绍
    • 会话列表
    • 获取会话
    • 会话未读数
    • 置顶会话
    • 删除会话
    • 会话标记
    • 会话分组
  • 群组
    • 介绍
    • 管理群组
    • 群资料
    • 管理群成员
    • 群成员资料
    • 自定义属性
    • 群计数器
  • 社群话题
    • 管理社群
  • 用户
    • 用户资料
    • 用户状态
    • 管理好友
    • 好友列表
    • 黑名单
  • 开发指引
  • 控制台指南
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • 购买指南
    • 计费概述
    • 价格中心
  • 错误码

修改消息

功能描述

会话里面已经发送成功的消息,会话内任意成员可以针对消息做二次修改。消息修改成功后会同步给会话的全部成员。

效果展示

您可以通过消息变更的 API,修改消息的 cloudCustomData,实现如下图所示的消息回复、引用等功能:


modifyMessage

变更消息的接口。变更成功后,自己和对端用户(C2C)或群组成员(Group)都会收到 MESSAGE_MODIFIED 事件。
注意
1. 不支持修改在线消息;不支持修改直播群消息;请勿修改消息的 random,sequence,time 等字段。
2. 只支持修改文本消息、自定义消息、地理位置消息和表情消息。
3. 如果在修改消息过程中,消息已经被其他人修改,SDK 会返回错误码2480,表示修改消息时发生冲突。
4. 支持修改所有类型消息的 cloudCustomData 字段。
接口
chat.modifyMessage(message);
参数
Name
Type
Description
message
Message
消息实例
返回值
Promise
示例
// 监听 MESSAGE_MODIFIED 事件,当修改消息成功后,SDK 会派发此事件
let onMessageModified = function(event) {
// event.data - 存储被修改过的 Message 对象的数组 - [Message]
};
chat.on(TencentCloudChat.EVENT.MESSAGE_MODIFIED, onMessageModified);

// 将 txtMessage 的文本内容改为 "Hello Tencent"
txtMessage.payload.text = "Hello Tencent";

let promise = chat.modifyMessage(txtMessage);
promise.then(function(imResponse) {
const { message } = imResponse.data;
// 修改消息成功,message 是最新的消息
}).catch(function(imError) {
// 修改消息失败
const { code, data } = imError;
if (code === 2480) {
// 修改消息发生冲突,data.message 是最新的消息
} else if (code === 2481) {
// 不支持修改直播群消息
} else if (code === 20026) {
// 消息不存在
}
});