skills$openclaw/openclaw-profanity
thegdsks3.8k

by thegdsks

openclaw-profanity – OpenClaw Skill

openclaw-profanity is an OpenClaw Skills integration for coding workflows. 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.

3.8k stars3.5k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameopenclaw-profanity
descriptionContent 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. OpenClaw Skills integration.
ownerthegdsks
repositorythegdsks/openclaw-profanity
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @thegdsks/openclaw-profanity
last updatedFeb 7, 2026

Maintainer

thegdsks

thegdsks

Maintains openclaw-profanity in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
297 B
SKILL.md
3.8 KB
SKILL.md

name: openclaw-profanity description: 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.

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

OptionTypeDefaultDescription
actionstring'warn'Action on profanity: warn, censor, block, log
detectLeetspeakbooleantrueCatch f4ck, sh1t patterns
normalizeUnicodebooleantrueCatch Cyrillic lookalikes
languagesarray['english']Languages to check
customWordsarray[]Additional words to flag
ignoreWordsarray[]Words to whitelist
onViolationfunction-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 of a, etc.
  • Spaced letters: f u c k, s.h.i.t
  • Mixed obfuscation: fü©k, $h!t

Resources

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

| 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 |

FAQ

How do I install openclaw-profanity?

Run openclaw add @thegdsks/openclaw-profanity in your terminal. This installs openclaw-profanity into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/thegdsks/openclaw-profanity. Review commits and README documentation before installing.