UI は翻訳済み。スキル原文は作者の言語を維持し、一部の説明は英語です。
スキルを探す
生産性・共同作業 · SKILL.md

openclaw-profanity

openclaw-profanity

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.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

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

保存したスキル