mcpField
B
bot-developer

bot-developer

github.com/curiositech開発257205 回インストール2 日前に更新
リポジトリ

bot-developer について

bot-developerは、Discord、Telegram、Slack向けの本番用ボットを開発する人向けのスキルです。イベント駆動設計、会話状態管理、レート制限、モデレーションを扱います。

主な機能

  1. 01イベント駆動型ボット設計
  2. 02複数ターンの状態管理
  3. 03分散型・適応型レート制限
  4. 04時間減衰付きポイント制モデレーション
  5. 05自動モデレーション規則とファジーマッチング
  6. 06監査ログとセキュリティ指針

活用シーン

  1. 01Discord、Telegram、Slackボットの開発
  2. 02モデレーションと自動モデレーションの構築
  3. 03複数ターンの会話フローの実装
  4. 04経済、XP、レベル機能の追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/curiositech/some_claude_skills --skill bot-developer

インストール後、Claude Code で/bot-developerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
.claude-plugin/
plugin.json
references/
architecture-patterns.md
moderation-system.md
platform-templates.md
rate-limiting.md

詳細

ボット開発者

適切なアーキテクチャ、状態管理、スケーラビリティを備えた、本番環境向けボットの構築に精通しています。

クイックスタート

User: "Build a Discord moderation bot with auto-mod"

Bot Developer:
1. Set up event-driven architecture (message broker + service layer)
2. Implement state machine for multi-turn mod flows
3. Add distributed rate limiting (Redis)
4. Create point-based moderation with decay
5. Configure auto-mod rules (spam, caps, links, words)
6. Deploy with proper logging and error handling

重要な原則:本番環境向けのボットに必要なのは、コマンドハンドラーだけではありません。レート制限、状態管理、段階的な縮退も必要です。

主な機能

1. プラットフォームに関する専門知識
プラットフォーム接続方式最適な用途
DiscordGateway(WebSocket)ゲームコミュニティ、大規模サーバー
TelegramWebhook(本番環境)国際的な利用、グループ/チャンネル
SlackSocket Mode/Webhook職場、インテグレーション
2. 本番環境向けアーキテクチャ
  • メッセージブローカー(Redis Streams / RabbitMQ)を使用したイベント駆動型設計
  • サービスレイヤーの分離(ユーザー、モデレーション、エコノミー、インテグレーション)
  • PostgreSQL + Redis + S3 によるデータレイヤー
  • Cog ベースのモジュール構造
3. 状態管理
  • 複数ターンの会話に有限状態機械を使用
  • タイムアウト処理(非アクティブ状態が続くと自動リセット)
  • 競合状態の防止
  • ターンをまたいだコンテキストの保持
4. レート制限
  • Redis バックエンドを使用した分散型リミッター
  • API ヘッダーに応じて動作する適応型リミッター
  • ユーザーごと、ギルドごと、全体のバケット
  • retry-after 情報を含む段階的な縮退
5. モデレーションシステム
  • ポイント制の段階的な措置(しきい値は設定可能)
  • 時間の経過に応じた自動減衰
  • 自動モデレーションルール(スパム、大文字、リンク、禁止ワード)
  • 回避行為を検出するためのあいまい検索(l33t 表記)
  • コンプライアンス対応の監査ログ

エスカレーションのしきい値

ポイント対応
0-2対応なし
3-5ミュート
6-9キック
10-14一時的な BAN
15+永久 BAN

自動モデレーションルール

ルール検出方法
スパムスライディングウィンドウ内のメッセージ頻度
大文字文字の比率(大文字が>70%)
リンクURL の正規表現 + ドメイン許可リスト
ワード辞書 + レーベンシュタイン距離(しきい値 85%)
メンションバリエーションを含めた @mention のカウント
招待Discord 招待の正規表現 + URL の展開

使用する場面

次の場合に使用します:

  • Discord/Telegram/Slack ボットの開発
  • モデレーションおよび自動モデレーションシステム
  • 複数ターンの会話フロー
  • エコノミー/XP/レベルアップシステム
  • 外部 API とのインテグレーション

次の場合は使用しないでください:

  • チャットインターフェースのない Web API(backend-architect を使用)
  • 一般的な自動化スクリプト(python-pro を使用)
  • フロントエンドのチャットウィジェット(frontend-developer を使用)
  • AI/ML モデルとの単独のインテグレーション(ai-engineer を使用)

アンチパターン

アンチパターン:本番環境でのポーリング

例:Telegram に bot.polling() やロングポーリングを使用する 問題点:リソースを浪費し、応答が遅く、スケールできません 代わりに:適切な検証を行う Webhook を使用します

アンチパターン:レート制限を設けない

例:スロットリングせずに API リクエストを送信する 問題点:ボットが BAN され、429 が発生し、UX が悪化します 代わりに:API ヘッダーを尊重する適応型レートリミッターを実装します

アンチパターン:インメモリ状態のみを使用する

例:会話状態を Python の dict に保存する 問題点:再起動時に失われ、複数インスタンスにスケールできません 代わりに:状態には Redis、永続化には PostgreSQL を使用します

アンチパターン:イベントハンドラーをブロックする

例:on_message 内で時間のかかる処理を行う 問題点:ほかのすべてのイベントがブロックされ、タイムアウトが発生します 代わりに:非同期タスクや、負荷の高い処理のためのメッセージキューを使用します

セキュリティチェックリスト

TOKEN SECURITY
├── Never commit tokens to git
├── Use environment variables or secret manager
├── Rotate tokens if exposed
└── Separate tokens for dev/staging/prod

PERMISSION CHECKS
├── Verify user permissions before action
├── Use platform's permission system
├── Check bot's permissions before attempting
└── Fail safely if permissions missing

INPUT VALIDATION
├── Sanitize all user input
├── Validate command arguments
├── Parameterized queries (no SQL injection)
└── Rate limit user-triggered actions

参考ファイル

  • references/architecture-patterns.md - イベント駆動型アーキテクチャ、状態機械
  • references/rate-limiting.md - 分散型および適応型レート制限
  • references/moderation-system.md - ポイント制モデレーション、自動モデレーション
  • references/platform-templates.md - Discord.py、Telegram Webhook テンプレート、セキュリティ

重要な知見:本番環境のボットは、コマンドロジックの不備ではなく、レート制限や状態のバグが原因で失敗します。まずインフラを構築しましょう。

併用先:ai-engineer(LLM インテグレーション) | backend-architect(API 設計) | deployment-engineer(ホスティング)

コメント