Skip to content

yuuki00682200/LINE-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LINE Bot Framework

このプロジェクトは、PythonベースのLINE Bot開発フレームワークです。 大規模なリファクタリングにより、ディレクトリ構成が整理され、拡張性と保守性が向上しました。単一のエントリーポイント (main.py) を使用して、異なる種類のボット(SelfBot, ProtectBotなど)を簡単に起動・管理できます。

機能一覧

1. SelfBot (多機能・管理用)

個人のLINEアカウント、またはサブ垢で動作させる多機能ボットです。

  • グループ管理・荒らし対策:
    • メンバー強制退会 (Kick): メンション、名前指定、ステータスメッセージ指定、正規表現、一括などで退会させることができます。
    • 招待キャンセル: 特定の条件で招待をキャンセルします。
    • グループURL管理: URLの開閉、再発行などをコマンドで操作できます。
  • 自動化:
    • 自動既読、送信取り消しの復元、グループ参加時の自動挨拶など。
    • 招待された際の自動参加や条件による退出。
  • 便利機能:
    • Google検索、YouTube検索、歌詞検索、天気予報などのユーティリティ。
    • 自分や他人のプロフィール情報(MID、アイコン、ステメ)の取得。
    • 一斉送信やメッセージ連呼などのツール。
  • キッカー連携:
    • 複数のサブアカウント(Kicker)を登録・制御し、メインアカウントの代わりに処理を行わせる分散処理機能。

2. ProtectBot (グループ保護用)

グループを荒らしから守ることに特化したボットです。

  • 強力な保護機能:
    • 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/          # データベース、暗号化、メールなどのユーティリティ

インストール

  1. Pythonの準備: Python 3.x が必要です。
  2. 依存ライブラリのインストール:
pip install -r requirements.txt

※ 一部のライブラリ(thrift など)がプロジェクト内に同梱されている場合や、特定のバージョンが必要な場合があります。環境に合わせて調整してください。

使い方

すべてのボットは main.py を通じて起動します。

ヘルプの表示

利用可能なコマンドやオプションを確認できます。

python3 main.py --help

1. SelfBot の起動

個人のLINEアカウントで動作する多機能ボットです。

python3 main.py selfbot <MID> --token <YOUR_AUTH_TOKEN> --password <YOUR_PASSWORD>
  • MID: 対象のユーザーMID、または設定キー
  • --token: LINEの認証トークン
  • --password: パスワード

2. LoginBot (Auto Login) の起動

自動ログイン処理を行うボットです。

python3 main.py loginbot --token <YOUR_AUTH_TOKEN> --password <YOUR_PASSWORD>

3. ProtectBot の起動

特定のグループやユーザーを保護するためのボットです。

python3 main.py protect <MID>

4. Public ProtectBot の起動

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 の設定を推奨)。

About

LINEPyを利用して作成したLINE Bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published