- (void)onMessageModerated:(BaseMessage *)message {
if ([message isKindOfClass:[TextMessage class]]) {
TextMessage *textMessage = (TextMessage *)message;
if ([[textMessage getModerationStatus] isEqualToString:@"approved"]) {
NSLog(@"Message %d approved", message.id);
// Update UI to show message normally
} else if ([[textMessage getModerationStatus] isEqualToString:@"disapproved"]) {
NSLog(@"Message %d blocked", message.id);
// Handle blocked message (hide or show warning)
[self handleDisapprovedMessage:message];
}
} else if ([message isKindOfClass:[MediaMessage class]]) {
MediaMessage *mediaMessage = (MediaMessage *)message;
if ([[mediaMessage getModerationStatus] isEqualToString:@"approved"]) {
NSLog(@"Media message %d approved", message.id);
} else if ([[mediaMessage getModerationStatus] isEqualToString:@"disapproved"]) {
NSLog(@"Media message %d blocked", message.id);
[self handleDisapprovedMessage:message];
}
}
}
// Register the delegate
[CometChat addMessageListener:@"MODERATION_LISTENER" delegate:self];
// Don't forget to remove the listener when done
// [CometChat removeMessageListener:@"MODERATION_LISTENER"];