openclaw-profanity
✓Verified·Scanned 2/18/2026
Content moderation plugin for OpenClaw/Moltbot AI agents. Use when building chatbots that need profanity filtering, moderating user messages in Discord/Slack/Telegram bots, or adding content moderation to OpenClaw agents.
from clawhub.ai·v0e9f5bc·3.8 KB·0 installs
Scanned from 1.0.0 at 0e9f5bc · Transparency log ↗
$ vett add clawhub.ai/thegdsks/openclaw-profanity
OpenClaw Profanity Plugin
Profanity detection plugin for OpenClaw and Moltbot AI agents. Adds automated content moderation to your chatbot with leetspeak, Unicode, and multi-language support.
Installation
npm install openclaw-profanity
Setup with OpenClaw
import { OpenClaw } from 'openclaw';
import { profanityPlugin } from 'openclaw-profanity';
const bot = new OpenClaw({
plugins: [
profanityPlugin({
action: 'warn', // warn | censor | block | log
detectLeetspeak: true,
normalizeUnicode: true,
languages: ['english'],
customWords: [],
ignoreWords: []
})
]
});
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
action | string | 'warn' | Action on profanity: warn, censor, block, log |
detectLeetspeak | boolean | true | Catch f4ck, sh1t patterns |
normalizeUnicode | boolean | true | Catch Cyrillic lookalikes |
languages | array | ['english'] | Languages to check |
customWords | array | [] | Additional words to flag |
ignoreWords | array | [] | Words to whitelist |
onViolation | function | - | Custom handler for violations |
Actions
warn - Respond with warning
profanityPlugin({ action: 'warn' })
// Bot responds: "Please keep the chat clean."
censor - Replace and continue
profanityPlugin({ action: 'censor', replaceWith: '***' })
// "What the ***" is processed normally
block - Ignore message entirely
profanityPlugin({ action: 'block' })
// Message is not processed
log - Log and continue
profanityPlugin({ action: 'log' })
// Logs violation, processes normally
Custom Violation Handler
profanityPlugin({
action: 'custom',
onViolation: async (message, result, context) => {
// Track repeat offenders
await trackViolation(message.userId, result.profaneWords);
// Custom response
if (getViolationCount(message.userId) > 3) {
await banUser(message.userId);
return { blocked: true };
}
return { blocked: false, warning: "First warning..." };
}
})
Platform Examples
Discord Bot
const bot = new OpenClaw({
platform: 'discord',
plugins: [
profanityPlugin({
action: 'censor',
detectLeetspeak: true,
languages: ['english', 'spanish']
})
]
});
Telegram Bot
const bot = new OpenClaw({
platform: 'telegram',
plugins: [
profanityPlugin({
action: 'warn',
onViolation: (msg, result) => {
return {
reply: `Watch your language, ${msg.username}!`,
deleteOriginal: true
};
}
})
]
});
Slack Bot
const bot = new OpenClaw({
platform: 'slack',
plugins: [
profanityPlugin({
action: 'log',
onViolation: (msg, result) => {
notifyModerators(msg.channel, msg.user, result);
}
})
]
});
Detection Capabilities
The plugin catches:
- Direct profanity: Standard bad words
- Leetspeak:
f4ck,sh1t,@$$,b1tch - Unicode tricks: Cyrillic
аinstead ofa, etc. - Spaced letters:
f u c k,s.h.i.t - Mixed obfuscation:
fü©k,$h!t