修改消息
用户在成功发送超级群消息后,可以主动修改已发送消息的消息内容。
修改本端用户已发消息的内容
本端用户发送消息成功后服务端会返回消息的 UID。如果需要修改消息内容,可以使用 modifyUltraGroupMessage
,传入待修改消息的 Message UID 和新的消息内容进行修改。消息被修改后,RCMessage
对象的 HasChanged
属性会被更新为 YES
。注意:消息类型无法修改。如果改前为文本消息,则传入的新消息内容必须为 RCTextMessage
类型。无法修改他人发送的消息。
RCTextMessage *newTextMessageContent = [RCTextMessage messageWithContent:@"修改后的文本消息内容"];
[[RCChannelClient sharedChannelManager] modifyUltraGroupMessage:messageUId
messageContent:textMessage
success:^{ }
error:^(RCErrorCode status) {}];
监听远端用户的消息变更
使用 setUltraGroupMessageChangeListener
设置 UltraGroupMessageChangeListener
监听器。远端用户修改消息时,应用程序可以通过 onUltraGroupMessageModified
方法收到通知。消息被修改后,Message#isHasChanged()
返回 true
。
@protocol RCUltraGroupMessageChangeDelegate <NSObject>
/*!
消息扩展更新,删除
@param messages 消息集合
*/
- (void)onUltraGroupMessageExpansionUpdated:(NSArray<RCMessage*>*)messages;
/*!
消息内容发生变更
@param messages 消息集合
*/
- (void)onUltraGroupMessageModified:(NSArray<RCMessage*>*)messages;
/*!
消息撤回
@param messages 消息集合
*/
- (void)onUltraGroupMessageRecalled:(NSArray<RCMessage*>*)messages;
@end
//设置超级群消息变化监听
- (void)setRCUltraGroupMessageChangeDelegate:(id<RCUltraGroupMessageChangeDelegate>)delegate