跳到主要内容

修改消息

用户在成功发送超级群消息后,可以主动修改已发送消息的消息内容。

修改本端用户已发消息的内容

本端用户发送消息成功后服务端会返回消息的 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