README.md
This commit is contained in:
parent
bd3eb883c7
commit
3b336d6819
165
README.md
Normal file
165
README.md
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
# グローバルIP検出変更通知Bot
|
||||||
|
|
||||||
|
Discord上でサーバーのグローバルIPアドレスを監視し、変更があった場合に通知するBotです。PROXMOXなど自宅サーバーの管理に役立ちます。
|
||||||
|
|
||||||
|
**⚠️ 注意: このプログラムにはDiscord Bot Tokenが含まれています。配布前にご自身のTokenに置き換えてください。**
|
||||||
|
|
||||||
|
## ファイル構成
|
||||||
|
|
||||||
|
- `main.py`: Botの主要なコード
|
||||||
|
- `ip_changes.log`: IPアドレス変更の履歴を記録するログファイル
|
||||||
|
- `bot.log`: Bot実行時のログファイル
|
||||||
|
- `README.md`: このファイル
|
||||||
|
|
||||||
|
## 機能
|
||||||
|
|
||||||
|
- グローバルIPアドレスの定期的な監視と表示
|
||||||
|
- IPアドレス変更時の自動通知
|
||||||
|
- サーバーステータス表示(CPU・メモリ・ディスク使用率など)
|
||||||
|
- Proxmox管理画面へのリンク生成
|
||||||
|
- IPアドレス変更履歴のログ記録
|
||||||
|
|
||||||
|
## 必要条件
|
||||||
|
|
||||||
|
- Python 3.8以上
|
||||||
|
- Discord Bot Token
|
||||||
|
- 以下のPythonパッケージ:
|
||||||
|
- discord.py
|
||||||
|
- aiohttp
|
||||||
|
- psutil (サーバーステータス機能に必要)
|
||||||
|
|
||||||
|
## インストール方法
|
||||||
|
|
||||||
|
1. プロジェクトファイルをダウンロードして任意のディレクトリに配置します。
|
||||||
|
2. 必要なパッケージをインストールします。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install discord.py aiohttp psutil
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install discord.py aiohttp psutil
|
||||||
|
```
|
||||||
|
|
||||||
|
## セットアップ方法
|
||||||
|
|
||||||
|
1. `main.py`ファイル内の以下の設定を編集します:
|
||||||
|
- `TOKEN`: DiscordのBot Token
|
||||||
|
- `CHANNEL_ID`: 通知を送信するチャンネルID
|
||||||
|
- `CHECK_INTERVAL`: IPアドレスチェックの間隔(秒)
|
||||||
|
|
||||||
|
```python
|
||||||
|
# BOTの設定
|
||||||
|
TOKEN = 'あなたのDiscord Bot Token' # BOTトークン
|
||||||
|
CHANNEL_ID = 000000000000000000 # チャンネルID(数字)
|
||||||
|
CHECK_INTERVAL = 30 # 間隔(秒)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Bot設定方法
|
||||||
|
|
||||||
|
### Discord Bot作成
|
||||||
|
|
||||||
|
1. [Discord Developer Portal](https://discord.com/developers/applications)にアクセスします。
|
||||||
|
2. 「New Application」をクリックして、アプリケーション名を入力します。
|
||||||
|
3. 左側のメニューから「Bot」を選択し、「Add Bot」をクリックします。
|
||||||
|
4. 「Reset Token」をクリックしてトークンを取得し、`main.py`に記入します。
|
||||||
|
5. 下にスクロールし、以下の項目を有効にします:
|
||||||
|
- MESSAGE CONTENT INTENT
|
||||||
|
- SERVER MEMBERS INTENT
|
||||||
|
- PRESENCE INTENT
|
||||||
|
6. 左側のメニューから「OAuth2」→「URL Generator」を選択します。
|
||||||
|
7. ScopesからBotを選択し、Bot Permissionsから必要な権限を選択します:
|
||||||
|
- Read Messages/View Channels
|
||||||
|
- Send Messages
|
||||||
|
- Manage Messages
|
||||||
|
- Embed Links
|
||||||
|
- Read Message History
|
||||||
|
- Add Reactions
|
||||||
|
8. 生成されたURLを使ってBotをサーバーに招待します。
|
||||||
|
|
||||||
|
### チャンネルIDの取得
|
||||||
|
|
||||||
|
1. Discordの設定から「詳細設定」を開き、「開発者モード」を有効にします。
|
||||||
|
2. Botを使用したいチャンネルを右クリックし、「IDをコピー」を選択します。
|
||||||
|
3. コピーしたIDを`main.py`の`CHANNEL_ID`に設定します。
|
||||||
|
|
||||||
|
## 使用方法
|
||||||
|
|
||||||
|
### Botの起動
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### コマンド一覧
|
||||||
|
|
||||||
|
- `!ipreset`: 通知チャンネルをリセットして新しいメッセージを送信します(管理者のみ)
|
||||||
|
- `!ipclear`: チャンネル内のメッセージをクリアして新しいステータスメッセージを送信します(管理者のみ)
|
||||||
|
- `!ipstatus`: 現在のIPチェックのステータスを表示します
|
||||||
|
|
||||||
|
### ボタン操作
|
||||||
|
|
||||||
|
- **今すぐ更新**: 現在のIPアドレスを即時に更新します
|
||||||
|
- **サーバーステータス**: サーバーのCPU、メモリ、ディスク使用率などを表示します
|
||||||
|
- **PROXMOX**: Proxmox管理画面へのリンクを生成します
|
||||||
|
|
||||||
|
## 自動起動の設定
|
||||||
|
|
||||||
|
### systemdを使用する場合(Linux)
|
||||||
|
|
||||||
|
1. 以下の内容で`ip-monitor.service`ファイルを作成します:
|
||||||
|
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Discord IP Monitor Bot
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=yourusername
|
||||||
|
WorkingDirectory=/path/to/ip-monitor-bot
|
||||||
|
ExecStart=/usr/bin/python3 /path/to/ip-monitor-bot/main.py
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
1. サービスファイルをsystemdディレクトリにコピーし、有効化します:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo cp ip-monitor.service /etc/systemd/system/
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable ip-monitor.service
|
||||||
|
sudo systemctl start ip-monitor.service
|
||||||
|
```
|
||||||
|
|
||||||
|
### Windowsの場合
|
||||||
|
|
||||||
|
Task Schedulerを使用して自動起動を設定できます。
|
||||||
|
|
||||||
|
## トラブルシューティング
|
||||||
|
|
||||||
|
- **Bot起動時のエラー**: Python依存関係が正しくインストールされているか確認してください。
|
||||||
|
- **IPアドレスの取得失敗**: インターネット接続を確認してください。
|
||||||
|
- **メッセージの送信失敗**: BotがDiscordチャンネルにアクセスする権限があるか確認してください。
|
||||||
|
- **psutilモジュールエラー**: サーバーステータス機能を使用するには`pip install psutil`を実行してください。
|
||||||
|
|
||||||
|
## セキュリティに関する注意
|
||||||
|
|
||||||
|
- Discord Bot Tokenは秘密にしてください。誤って公開した場合は、Discord Developer Portalで再生成してください。
|
||||||
|
- このBotはグローバルIPアドレスを表示するため、信頼できるサーバーでのみ使用してください。
|
||||||
|
|
||||||
|
## ライセンス
|
||||||
|
|
||||||
|
[ライセンスファイル](LICENSE)を参照してください。
|
||||||
|
|
||||||
|
## 謝辞
|
||||||
|
|
||||||
|
- [discord.py](https://github.com/Rapptz/discord.py) - Discord APIのPythonラッパー
|
||||||
|
- [psutil](https://github.com/giampaolo/psutil) - システム情報取得ライブラリ
|
||||||
|
|
||||||
|
## 著作
|
||||||
|
|
||||||
|
© 2025 うっちぃの電脳日誌
|
||||||
|
https://uttili.com
|
||||||
Loading…
Reference in New Issue
Block a user