TwitchトロールアンチBotは、Twitch配信中にスパムコメントや同じフレーズが繰り返し投稿されるコメントを自動的に検出し、削除およびユーザーのタイムアウトを行うボットです。配信者が快適なチャット環境を維持するためのツールとして設計されています。
- フレーズの繰り返し検出
同じフレーズや文字列が連続して投稿された場合にスパムとして検出。
- タイムアウト機能
スパムを投稿したユーザーを自動的に任意の時間をタイムアウト。(実装は任意です)
- 誤検出の防止
日本語特有の自然なコメントを誤って検出しないように設計。
- Node.js 20以上
- Twitchアカウント(Bot用)
- Twitch APIのClient IDとAccess Token
-
リポジトリをクローンします。
git clone https://github.com/star-dot123/twitchtroller_anti_bot.git
-
必要な依存関係をインストールします。
npm install
-
.env
ファイルを作成して、以下の内容を設定します。TWITCH_CLIENT_ID=your_twitch_client_id TWITCH_ACCESS_TOKEN=your_twitch_access_token TWITCH_CHANNEL_NAME=your_channel_name
-
ボットを起動します。
node index.js
-
ボットがTwitchチャットに接続され、繰り返しコメントを自動で検出・処理します。
- ボットはTwitchチャットのコメントをリアルタイムで監視します。
- コメント内のフレーズを分割し、以下の条件でスパムを検出します。
- 同じフレーズが3回以上連続。(こちらは任意で変更可能です)
- 日本語の助詞や一般的な単語(例: 「は」「も」など)は無視。
- ただし、同じ文字が連続で並んでいる場合は対象になります。
- スパムと判定されたコメントは削除されます。
-
繰り返しの許容値:
index.js
内の以下の部分を編集することで調整可能です。if (repeatedCount >= 3) {
- デフォルトでは3回連続の繰り返しでスパムと判定されます。これを変更することでスパム検出の厳しさを調整できます。
-
無視する単語: 以下のリストを編集してフィルタリング対象外の単語を追加できます。
const IGNORED_WORDS = ['は', 'も', 'が', 'の', 'と', 'で', 'を', 'に', 'です', 'ます', 'だ'];
- ボットはTwitch APIを使用して動作します。Twitch APIの使用量に注意してください。
- 誤検出を防ぐために、適切な値設定やフィルタリングの調整を行ってください。
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご参照ください。
バグ報告や機能提案、プルリクエストは歓迎します!ぜひ一緒にプロジェクトを改善しましょう。