Discord の一時ボイスチャンネル管理ボット。ユーザーが参加すると自動的に専用のボイスチャンネルとテキストチャンネルを作成します。
🚀 クイックスタート:
setup.batを実行するだけで自動セットアップ完了!
- ボイスチャンネル: ジェネレーターに参加すると自動作成(
[User]'s ボイスチャット) - テキストチャンネル: 同時に「聞き専」チャンネルも作成(
[User]'s 聞き専) - 自動削除: 全員退出時に両チャンネルを自動削除
- 🔧 名前変更 - チャンネル名を自由に変更
- 👥 人数制限 - 0〜99人まで設定(0 = 無制限)
- 🔒 ロック - 新規参加を制限
- 🔓 解除 - ロックを解除して誰でも参加可能に
- 👻 非表示 - チャンネルを他のユーザーから隠す
- 👁️ 表示 - チャンネルを表示
- 🎙️ 音質 - 8〜384kbps のビットレート設定
- 🔊 地域 - ボイスサーバー地域選択(日本、US、ヨーロッパなど)
- 📝 ステータス - チャンネルステータス設定
- 🐌 低速モード - テキストチャンネルの投稿制限(秒単位)
- 🔞 NSFW - 年齢制限モード
- 🚫 ブロック - 特定ユーザーをチャンネルからブロック
- ✅ 許可 - ブロックを解除
- 👑 譲渡 - オーナー権限を他のユーザーに譲渡
⏏️ 全員キック - 自分以外の全員を退出させる
- 💾 保存 - 現在の設定をデフォルトとして保存(次回作成時に適用)
- 📋 情報 - チャンネル情報を表示
- 🗑️ 削除 - チャンネルを手動削除
まず、Discord Developer Portal で Bot を作成します。
- Discord Developer Portal にアクセス
- 右上の「New Application」ボタン をクリック
- アプリケーション名を入力(例:
TempVoice) - 利用規約に同意して 「Create」 をクリック
- 左サイドバーから 「Bot」 を選択
- 「Add Bot」 → 「Yes, do it!」 をクリック
- 「TOKEN」セクション で 「Copy」 ボタンをクリックしてトークンをコピー
⚠️ 重要: このトークンは他人に見せないでください!- 💡 後で
.envファイルに貼り付けます
- 左サイドバーから 「General Information」 を選択
- 「APPLICATION ID」 の下にある長い数字をコピー
- 💡 これも後で
.envファイルに貼り付けます
- 💡 これも後で
- 左サイドバーから 「Bot」 を選択
- 下にスクロールして 「Privileged Gateway Intents」 セクションを探す
- 以下の 3つすべて を ON(緑色) にする:
- ✅ PRESENCE INTENT
- ✅ SERVER MEMBERS INTENT
- ✅ MESSAGE CONTENT INTENT
- 「Save Changes」 をクリック
- 左サイドバーから 「OAuth2」 → 「URL Generator」 を選択
- 「SCOPES」 セクションで以下をチェック:
- ✅
bot - ✅
applications.commands
- ✅
- 「BOT PERMISSIONS」 セクションで以下をチェック:
- ✅ Manage Channels (チャンネル管理)
- ✅ Send Messages (メッセージ送信)
- ✅ Embed Links (埋め込みリンク)
- ✅ Read Message History (メッセージ履歴閲覧)
- ✅ Use External Emojis (外部絵文字使用)
- ✅ Add Reactions (リアクション追加)
- ✅ Connect (接続)
- ✅ Speak (発言)
- ✅ Move Members (メンバー移動)
- 一番下の 「GENERATED URL」 をコピー
- そのURLをブラウザに貼り付けてアクセス
- Bot を招待したいサーバーを選択して 「認証」 をクリック
- このプロジェクトをダウンロード(または
git clone) setup.batをダブルクリック- 指示に従って
.envファイルを編集:- DISCORD_TOKEN: 先ほどコピーした Bot Token を貼り付け
- APPLICATION_ID: 先ほどコピーした Application ID を貼り付け
- ファイルを保存して閉じる
- 自動的にセットアップが完了します!
npm run dev✅ セットアップ完了! Discord サーバーで /setup コマンドを実行して Bot を使い始められます。
Bot Token とは?
- Bot がDiscordにログインするためのパスワードのようなもの
- 絶対に他人と共有しないでください!
取得手順:
- Discord Developer Portal にアクセス
- 作成した Application をクリック
- 左メニューの 「Bot」 をクリック
- 「TOKEN」 セクションを探す
- 「Copy」 または 「Reset Token」 → 「Copy」 をクリック
- コピーしたトークンを
.envファイルのDISCORD_TOKEN=の後に貼り付け
Application ID とは?
- Bot アプリケーションを識別するための固有ID
- スラッシュコマンドの登録に必要
取得手順:
- Discord Developer Portal にアクセス
- 作成した Application をクリック
- 左メニューの 「General Information」 をクリック
- 「APPLICATION ID」 という項目を探す
- その下にある長い数字(例:
1234567890123456789)をコピー .envファイルのAPPLICATION_ID=の後に貼り付け
例:
APPLICATION_ID=1234567890123456789Intents とは?
- Bot がアクセスできる情報の種類を制御する設定
- プライバシー保護のため、必要な権限のみ有効化する
必須の Intents:
| Intent 名 | 説明 | 必要な理由 |
|---|---|---|
| PRESENCE INTENT | ユーザーのオンライン状態を取得 | ボイスチャンネルの状態監視 |
| SERVER MEMBERS INTENT | サーバーメンバー情報を取得 | チャンネル作成時のユーザー情報取得 |
| MESSAGE CONTENT INTENT | メッセージ内容を読み取り | パネル操作の処理 |
有効化手順:
- Discord Developer Portal → Application → 「Bot」
- 下にスクロールして 「Privileged Gateway Intents」 を探す
- 上記3つを すべてON(緑色のトグル) にする
- 「Save Changes」 を忘れずにクリック!
自動セットアップ(setup.bat)が使えない場合は、以下の手順で手動セットアップできます。
npm install.env.sample をコピーして .env を作成:
copy .env.sample .env.env ファイルを編集:
DISCORD_TOKEN=あなたのBotトークン
APPLICATION_ID=あなたのApplicationID
DATABASE_URL="postgresql://tempvoice:tempvoice_password@localhost:5432/tempvoice?schema=public"docker-compose up -d postgresnpm run db:push# 開発モード
npm run dev
# 本番モード
npm start-
Discord サーバーで
/setupコマンドを実行 -
必要な情報を入力:
- category: ボイスチャンネルを作成するカテゴリ
- panel-channel: 操作パネルを送信するテキストチャンネル
- generator-name: (任意)ジェネレーターチャンネルの名前
- viewable-role: (任意)チャンネルを表示するロール
-
セットアップ完了!ジェネレーターチャンネルとパネルが作成されます
- チャンネル作成: ジェネレーターチャンネルに参加
- 設定変更: パネルチャンネルのボタンをクリック
- 自動削除: 全員が退出すると自動削除
原因:
- Bot Token が間違っている
- Intents が有効化されていない
解決方法:
.envファイルのDISCORD_TOKENが正しいか確認- Discord Developer Portal で Intents が すべてON になっているか確認
- Bot を再起動
原因:
- Application ID が間違っている
- Bot に必要な権限がない
解決方法:
.envファイルのAPPLICATION_IDが正しいか確認- Bot を招待し直す(上記の招待URLを使用)
- Bot に「管理者」権限を付与(テスト用)
原因:
- Docker が起動していない
- PostgreSQL コンテナが起動していない
解決方法:
# Docker Desktop が起動しているか確認
# PostgreSQL を起動
docker-compose up -d postgres
# ログを確認
docker-compose logs postgres原因:
- Bot にチャンネル管理権限がない
/setupが実行されていない
解決方法:
- Bot に「チャンネル管理」権限があるか確認
/setupコマンドを実行- カテゴリが削除されていないか確認
原因:
- Node.js のバージョンが古い
解決方法:
- Node.js 18 以上をインストール: https://nodejs.org/
- 再度
npm installを実行
| コマンド | 説明 |
|---|---|
npm run dev |
開発モード(ホットリロード) |
npm start |
本番モード |
npm run db:push |
データベースマイグレーション |
npm run db:studio |
Prisma Studio 起動(GUI) |
npm run db:generate |
Prisma Client 生成 |
プルリクエストは大歓迎です!大きな変更の場合は、まず Issue を作成してください。
Powered by @r1_xly