[**RongIMLib**](../README.md) *** [RongIMLib](../globals.md) / updateMessageExpansion # Function: updateMessageExpansion() > **updateMessageExpansion**(`expansion`, `message`): `Promise`\<[`RCResult`](../interfaces/RCResult.md)\<`void`\>\> 更新(添加、替换)消息扩展属性 ## Parameters ### expansion `Record`\<`string`, `string`\> 要更新的消息扩展信息键值对 ### message [`IAReceivedMessage`](../interfaces/IAReceivedMessage.md) 要更新的原始消息体 ## Returns `Promise`\<[`RCResult`](../interfaces/RCResult.md)\<`void`\>\> ## Description 消息扩展功能可为消息增加基于 Key/Value 的状态标识。消息的扩展信息可在发送前、后设置或更新,可用于实现消息评论、礼物领取、订单状态变化等业务需求。 **注意**: 1. 单条消息单次最多可设置 20 个扩展信息 KV 对,总计不可超过 300 个扩展信息 KV 对。 2. 消息扩展(Key、Value 扩展信息)会被存储。如已开通历史消息云存储功能,从服务端获取的历史消息也会携带已设置的扩展信息。 3. 仅支持单聊、群聊、超级群会话类型,不支持聊天室类型。 4. 仅当发送消息时指定 canIncludeExpansion 值为 true,才可对消息进行拓展。 ## Example 更新(添加、替换)消息扩展属性示例: ```ts const expansion = { key1: 'value1' }; // message 为 IAReceivedMessage 类型消息体,此处不做具体示例,可在消息监听或者获取历史消息接口获取需要操作的 message const updateRes = await RongIMLib.updateMessageExpansion(expansion, message); console.info('更新消息扩展属性结果:', updateRes); ```