このプロジェクトは、PythonベースのLINE Bot開発フレームワークです。
大規模なリファクタリングにより、ディレクトリ構成が整理され、拡張性と保守性が向上しました。単一のエントリーポイント (main.py) を使用して、異なる種類のボット(SelfBot, ProtectBotなど)を簡単に起動・管理できます。
個人のLINEアカウント、またはサブ垢で動作させる多機能ボットです。
- グループ管理・荒らし対策:
- メンバー強制退会 (Kick): メンション、名前指定、ステータスメッセージ指定、正規表現、一括などで退会させることができます。
- 招待キャンセル: 特定の条件で招待をキャンセルします。
- グループURL管理: URLの開閉、再発行などをコマンドで操作できます。
- 自動化:
- 自動既読、送信取り消しの復元、グループ参加時の自動挨拶など。
- 招待された際の自動参加や条件による退出。
- 便利機能:
- Google検索、YouTube検索、歌詞検索、天気予報などのユーティリティ。
- 自分や他人のプロフィール情報(MID、アイコン、ステメ)の取得。
- 一斉送信やメッセージ連呼などのツール。
- キッカー連携:
- 複数のサブアカウント(Kicker)を登録・制御し、メインアカウントの代わりに処理を行わせる分散処理機能。
グループを荒らしから守ることに特化したボットです。
- 強力な保護機能:
- Kick保護: メンバーが退会させられた際に自動で対応します。
- 参加・招待保護: 許可されていないユーザーの参加や招待をブロックします。
- URL保護: グループURLの変更や不正利用を防ぎます。
- リスト管理:
- ブラックリスト: 対象ユーザーの侵入やアクションを即座に検知し排除します。
- ホワイトリスト/管理者: 保護の対象外となる信頼できるユーザーを設定できます。
プロジェクトは以下のような構成になっています。
.
├── main.py # 統合エントリーポイント(ここから起動します)
├── requirements.txt # 依存ライブラリ一覧
├── certs/ # ログイン認証用ファイル (*.crt, *.session)
├── data/ # 設定ファイルやボットデータ (*.json)
└── src/
└── linebot/
├── core/ # LINE APIとの通信を行うコアロジック
├── bots/ # 各ボットの実装ディレクトリ
│ ├── self_bot/ # SelfBot (多機能ボット)
│ ├── auto_login/ # 自動ログイン用ボット
│ ├── protect/ # ProtectBot
│ └── pub_protect/# Public ProtectBot
├── generated/ # Thriftから生成されたAPI定義コード
└── utils/ # データベース、暗号化、メールなどのユーティリティ
- Pythonの準備: Python 3.x が必要です。
- 依存ライブラリのインストール:
pip install -r requirements.txt※ 一部のライブラリ(thrift など)がプロジェクト内に同梱されている場合や、特定のバージョンが必要な場合があります。環境に合わせて調整してください。
すべてのボットは main.py を通じて起動します。
利用可能なコマンドやオプションを確認できます。
python3 main.py --help個人のLINEアカウントで動作する多機能ボットです。
python3 main.py selfbot <MID> --token <YOUR_AUTH_TOKEN> --password <YOUR_PASSWORD>MID: 対象のユーザーMID、または設定キー--token: LINEの認証トークン--password: パスワード
自動ログイン処理を行うボットです。
python3 main.py loginbot --token <YOUR_AUTH_TOKEN> --password <YOUR_PASSWORD>特定のグループやユーザーを保護するためのボットです。
python3 main.py protect <MID>python3 main.py pub_protect- 新しい機能の追加:
src/linebot/core内のコアロジックを修正するか、src/linebot/bots内に新しいボットパッケージを作成してください。 - インポート: プロジェクト内でのインポートは
from linebot.core.client import LineClientのように、linebotパッケージをルートとして記述してください。 - データ管理: 永続化が必要なデータは
data/ディレクトリ内のJSONファイルを使用してください。 - 証明書: ログインセッションや証明書は
certs/ディレクトリに保存されます。
- このプログラムの使用によって生じたアカウントの凍結や不利益について、開発者は責任を負いません。自己責任で利用してください。
certs/やdata/に含まれる個人情報(トークンやパスワードを含むファイル)は、Gitなどのバージョン管理システムにコミットしないよう注意してください(.gitignoreの設定を推奨)。