Profanity filter callback
By default, the message sender is not notified when a message is blocked by moderation.
Messages may be blocked when:
- Text content matches a built-in profanity word (message not delivered).
- Text content matches a custom profanity word set to block (message not delivered).
- Message is blocked by a pre-messaging webhook rule.
Set a blocked message listener
Register a listener
Dart
NCEngine.addMessageHandler(
'my_block_listener',
MessageHandler(
onMessageBlocked: (BlockedMessageInfo? info) {
if (info != null) {
// Handle blocked message
}
},
),
);
Remove a listener
Dart
NCEngine.removeMessageHandler('my_block_listener');
BlockedMessageInfo properties
| Property | Type | Description |
|---|---|---|
| channelType | ChannelType? | Channel type |
| channelId | String? | Channel ID |
| blockedMsgUId | String? | Unique ID of the blocked message |
| blockType | MessageBlockType? | Block reason |
| extra | String? | Additional info |
MessageBlockType values
| Enum | Description |
|---|---|
| unknown | Unknown reason |
| global | Global profanity filter |
| custom | Custom profanity filter |
| thirdParty | Third-party moderation service |