はじめに
Square Cloud で Discord ボット を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。前提条件
- Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
- 有効なプラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。
プロジェクトの作成
ボットを作成・管理するには Discord のアカウントが必要です。まだお持ちでない場合は、Discord 公式サイトで作成してください。Discord でのボットアプリケーション
アプリケーションの作成
Developer Portal にアクセスし、「New Application」をクリックします。ボットの名前を決めて「Create」をクリックし、アプリケーションを作成します。

認証トークンの生成
アプリケーションを作成した後、「Bot」タブに移動し、「Reset Token」をクリックして認証トークンを生成します。トークンをコピーしてください。これはコードではなく、Square Cloud の環境変数として設定します。

特権インテントの有効化
サンプルのボットはメッセージの本文を読み取るため、Message Content Intent が必要です。「Bot」タブに留まり、下にスクロールして「Privileged Gateway Intents」で Message Content Intent を有効にします。この例では、他の 2 つの特権インテント (Presence と Server Members) は必要ありません。

プロジェクトの開発
ボットのトークンが手に入ったので、コーディングを始められます。お好みの言語を使って行うことができます。- Discord.js (Node.js)
- Discord.py (Python)
Node.js 環境のセットアップこのコードは discord.js v14 を使っており、ready イベントは
- システムに Node.js がインストールされていることを確認してください。まだの場合は、Node.js 公式サイト からダウンロードしてください。
- 新しい Node.js プロジェクトを初期化します。
Terminal
- Discord.js ライブラリをインストールします。
Terminal
- JavaScript ファイル (例:
index.js) を作成し、基本的な Discord ボットを作成するために次のコードを追加します。
index.js
Events.ClientReady ("clientReady") です。以前の "ready" という名前は非推奨です。Square Cloud の設定
プロジェクトのルートに、メインファイルと並べてsquarecloud.app ファイルを作成します。このファイルは、ボットの実行方法を Square Cloud に伝えます。
MAINは Square Cloud が実行するファイル、MEMORYはボットの RAM (MB) です。ボットには最低 256 MB が必要で、512 MB あれば成長の余地があります。AUTORESTART=trueを指定すると、ボットがクラッシュしたときに再起動します。自動再起動の仕組みを参照してください。SUBDOMAINはありません。ボットはウェブページを配信しないためです。
package.json または requirements.txt)、squarecloud.app を入れます。node_modules は含めないでください。依存関係は Square Cloud がデプロイ時にインストールします。ダッシュボードからアップロードする場合は、アップロードフォームでこれらの設定を入力できます。すべてのフィールドについては設定ファイルのリファレンスを参照してください。
ボットトークンの設定
コードはトークンを環境変数DISCORD_TOKEN から読み込むため、トークンがファイルに入ることはありません。次のいずれかの方法で設定します。
- ダッシュボード: アップロードページで Advanced configuration を開き、
DISCORD_TOKENという名前の変数を追加して、値にトークンを入力します。すでにデプロイ済みのボットの場合は、アプリケーションの Environment Variables ページで追加し、ボットを再起動します。 - CLI: ボットをアップロードした直後に (デプロイを参照)、
squarecloud app env setで設定し、ボットを再起動します。
デプロイ
プロジェクトファイルの準備ができたら、それらを Square Cloud にアップロードしてプロジェクトをホストできます。 そのためには、すべてのプロジェクトファイルを含む ZIP ファイルを作成してください。ダッシュボード経由
1
アップロードページにアクセス
アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2
環境を設定
zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3
プロジェクトをデプロイ
最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。

4
アプリが稼働していることを確認
最初のデプロイは、通常 1 分もかからずに完了します。ダッシュボードでアプリケーションのステータスが running になるのを待ち、起動時のエラーがないかログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで
ウェブサイトや API をデプロイした場合は、ブラウザで
https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
CLI 経由
この方法を使用するには、プロジェクトのルートにsquarecloud.app という名前の設定ファイルが必要です。このファイルは、アプリケーションの実行方法を Square Cloud に伝えます。
設定ファイルガイド
アプリケーションの環境を定義する
squarecloud.app 設定ファイルの作成方法を学びます。1
CLI をインストール
Square Cloud CLI をインストールします。すでにお持ちの場合は、同じコマンドを実行すると更新されます:
2
ログイン
次のコマンドを実行します。ブラウザが開くので、そこでログインを承認すれば CLI の準備は完了です。API キーをコピーする必要はありません。スクリプトや CI については、CLI の認証を参照してください。
3
プロジェクトをアップロード
プロジェクトのフォルダで次のコマンドを実行します。CLI は 自分で作成した zip をアップロードするには、
squarecloud.ignore に記載されたものを除いて現在のフォルダを zip にし、アップロードします:--file で指定します:4
アプリが稼働していることを確認
最初のデプロイは、通常 1 分もかからずに完了します。ターミナルから直接、アプリケーションのステータスとログを確認してください。ウェブサイトや API をデプロイした場合は、ブラウザで
https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
ボットのテスト
すべての手順を正しく実行できたら、次のステップはボットをテスト用に招待することです。そのためには、次の手順に従ってください。- Developer Portal にアクセスし、ボットを選択します。
- 「OAuth2」タブに移動し、「OAuth2 URL Generator」に進みます。
- 「Scopes」で「bot」オプションにチェックを入れます。
- 「Bot Permissions」では、サンプルに必要なものだけにチェックを入れます: View Channels、Send Messages、Read Message History。Administrator は避けてください。ボットに必要になることはまれで、トークンが漏洩した場合にサーバー全体を制御されてしまいます。
- 生成された URL をコピーしてブラウザで開き、ボットをサーバーに追加します。URL は次のようになります。
68608 はこの 3 つの権限の合計です。YOUR_CLIENT_ID は、「General Information」タブに表示されるアプリケーションの ID に置き換えてください。より多くの権限が必要なコマンドを追加した場合は、それらにチェックを入れて新しい URL を生成してください。
では、すべてが機能しているかテストするために、サーバー上で次のコマンドを実行してください: !hello。

追加リソース
discord.py と discord.js でのボット作成に関する詳細については、discord.py 公式ドキュメント と discord.js 公式ガイド をご覧ください。そこには、これらのライブラリを最大限に活用するための詳細なガイド、チュートリアル、API ドキュメントが用意されています。次のステップ
Discord ボットのエラー
無効なトークン、インテントの不足などのよくあるエラーを修正します。
環境変数
ボットのトークンやその他のシークレットを管理します。
Lavalink サーバー
Lavalink サーバーをホストして、ボットで音楽を再生します。

