-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
132 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,106 @@ | ||
# twitchtroller_anti_bot | ||
Twitchで荒らしのコメントを判断し処理するbot | ||
# TwitchトロールアンチBot | ||
|
||
TwitchトロールアンチBotは、Twitch配信中にスパムコメントや同じフレーズが繰り返し投稿されるコメントを自動的に検出し、削除およびユーザーのタイムアウトを行うボットです。配信者が快適なチャット環境を維持するためのツールとして設計されています。 | ||
|
||
## 特徴 | ||
|
||
- **フレーズの繰り返し検出** | ||
> 同じフレーズや文字列が連続して投稿された場合にスパムとして検出。 | ||
- **タイムアウト機能** | ||
> スパムを投稿したユーザーを自動的に任意の時間をタイムアウト。(実装は任意です) | ||
- **誤検出の防止** | ||
> 日本語特有の自然なコメントを誤って検出しないように設計。 | ||
--- | ||
|
||
## 動作環境 | ||
|
||
- Node.js 20以上 | ||
- Twitchアカウント(Bot用) | ||
- Twitch APIのClient IDとAccess Token | ||
|
||
--- | ||
|
||
## インストール | ||
|
||
1. リポジトリをクローンします。 | ||
|
||
```bash | ||
git clone https://github.com/star-dot123/twitchtroller_anti_bot.git | ||
cd twitchtroller_anti_bot | ||
``` | ||
|
||
2. 必要な依存関係をインストールします。 | ||
|
||
```bash | ||
npm install | ||
``` | ||
|
||
3. `.env`ファイルを作成して、以下の内容を設定します。 | ||
|
||
```env | ||
TWITCH_CLIENT_ID=your_twitch_client_id | ||
TWITCH_ACCESS_TOKEN=your_twitch_access_token | ||
TWITCH_CHANNEL_NAME=your_channel_name | ||
``` | ||
|
||
--- | ||
|
||
## 使用方法 | ||
|
||
1. ボットを起動します。 | ||
|
||
```bash | ||
node index.js | ||
``` | ||
|
||
2. ボットがTwitchチャットに接続され、繰り返しコメントを自動で検出・処理します。 | ||
|
||
--- | ||
|
||
## 検出のロジック | ||
|
||
- ボットはTwitchチャットのコメントをリアルタイムで監視します。 | ||
- コメント内のフレーズを分割し、以下の条件でスパムを検出します。 | ||
1. 同じフレーズが3回以上連続。(こちらは任意で変更可能です) | ||
2. 日本語の助詞や一般的な単語(例: 「は」「も」など)は無視。 | ||
3. ただし、同じ文字が連続で並んでいる場合は対象になります。 | ||
- スパムと判定されたコメントは削除されます。 | ||
|
||
--- | ||
|
||
## カスタマイズ | ||
|
||
- **繰り返しの許容値**: `index.js`内の以下の部分を編集することで調整可能です。 | ||
|
||
```javascript | ||
if (repeatedCount >= 3) { | ||
``` | ||
- デフォルトでは3回連続の繰り返しでスパムと判定されます。これを変更することでスパム検出の厳しさを調整できます。 | ||
- **無視する単語**: 以下のリストを編集してフィルタリング対象外の単語を追加できます。 | ||
```javascript | ||
const IGNORED_WORDS = ['は', 'も', 'が', 'の', 'と', 'で', 'を', 'に', 'です', 'ます', 'だ']; | ||
``` | ||
--- | ||
## 注意事項 | ||
- ボットはTwitch APIを使用して動作します。Twitch APIの使用量に注意してください。 | ||
- 誤検出を防ぐために、適切な値設定やフィルタリングの調整を行ってください。 | ||
--- | ||
## ライセンス | ||
このプロジェクトはMITライセンスの下で提供されています。詳細は[LICENSE](./LICENSE)ファイルをご参照ください。 | ||
--- | ||
## 貢献 | ||
バグ報告や機能提案、プルリクエストは歓迎します!ぜひ一緒にプロジェクトを改善しましょう。 | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters