はじめに
Square Cloud で Slack ボット を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。前提条件
- Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
- 有効なプラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。
プロジェクトの作成
Slack ボットを作成するには、Slack でアプリを作成するためのアカウントと権限が必要です。次の手順に従う前に、Slack でアカウントを作成またはアクセスしてください。Slack でのボットアプリケーション
- Slack API - Your Apps にアクセスし、「Create New App」をクリックします。
- 「From scratch」を選択し、アプリに名前を付け、インストールする workspace を選択します。
- 「Socket Mode」セクションで Socket Mode を有効にし、
connections:writeスコープを持つ app-level token を生成します。これをコピーしてください (xapp-で始まります)。これがSLACK_APP_TOKENです。 - 「OAuth & Permissions」セクションで、ボットに必要なスコープ (例:
chat:write、app_mentions:read、commands) を追加し、アプリを workspace にインストールして Bot User OAuth Token をコピーします (xoxb-で始まります)。これがSLACK_BOT_TOKENです。 - 「Event Subscriptions」でイベントを有効にし、
app_mentionボットイベントをサブスクライブします。「Slash Commands」で/helloコマンドを作成します。Socket Mode が有効なので、どちらも Request URL は不要です。
プロジェクトの開発
選択する言語に応じて、以下のセクションを使用してください。どちらの例も、メンションや簡単なコマンドに応答するボットを示しています。- Node.js - @slack/bolt
- Python - slack_bolt
Node.js 環境のセットアップ
- Node.js がインストールされていることを確認してください。
- プロジェクトを初期化し、依存関係をインストールします。
Terminal
- 次の内容の
index.jsファイルを作成します。
index.js
Square Cloud の設定
プロジェクトのルートに、メインファイルと並べてsquarecloud.app ファイルを作成します。このファイルは、ボットの実行方法を Square Cloud に伝えます。
MAINは Square Cloud が実行するファイル、MEMORYはボットの RAM (MB) です。ボットには最低 256 MB が必要で、512 MB あれば成長の余地があります。AUTORESTART=trueを指定すると、ボットがクラッシュしたときに再起動します。自動再起動の仕組みを参照してください。SUBDOMAINはありません。Socket Mode では、ボットに公開 URL は必要ありません。
トークンの設定
コードは 2 つのトークンを環境変数SLACK_BOT_TOKEN と SLACK_APP_TOKEN から読み込むため、トークンがファイルに入ることはありません。次のいずれかの方法で設定します。
- ダッシュボード: アップロードページで Advanced configuration を開き、両方の変数を追加します。すでにデプロイ済みのボットの場合は、アプリケーションの 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 を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
ボットのテスト
- Slack App パネルの「OAuth & Permissions」で、アプリを workspace にインストールします (まだの場合)。
- Square Cloud ダッシュボードでアプリケーションのログを開き、起動時のエラーがないか確認します。Socket Mode では設定する Request URL はなく、ボットは起動するとすぐに Slack に接続します。
- ボットをチャンネルに招待し、メンションするか
/helloコマンドを実行して、応答を検証します。
Socket Mode の代わりに HTTP モードを使う
Socket Mode を使うアプリは、公開の Slack Marketplace に掲載できません。代わりに Slack から HTTP でイベントを送信させる必要がある場合は、ボットをウェブアプリケーションとして実行します:- Slack アプリの設定で Socket Mode を無効にし、(「Basic Information」にある) Signing Secret を環境変数
SLACK_SIGNING_SECRETにコピーします。トークンと同じ方法で設定します。 - app-level token の代わりに signing secret を使ってアプリを作成し、環境変数
PORTのポートで待ち受けます:
0.0.0.0) でリッスンします。
- ボットに公開 URL が割り当てられるように、設定ファイルに
SUBDOMAINを追加します (またはダッシュボードからアップロードする際に「Web Publication」を選択してサブドメインを設定します)。ウェブアプリケーションには少なくともMEMORY=512が必要です。
squarecloud.app
サブドメインなしでアップロードしたアプリケーションには、後からサブドメインを設定できません。ボットがすでに Socket Mode で動作している場合は、HTTP 版を新しいアプリケーションとしてアップロードしてください。
/hello スラッシュコマンドで、Request URL を https://<subdomain>.squareweb.app/slack/events に設定します。
追加リソース
さらに詳しく知りたい場合は、Slack 公式ドキュメントをご確認ください。次のステップ
アプリが起動しない
モジュールの不足、メモリエラーなどの起動エラーを修正します。
環境変数
ボットのトークンやその他のシークレットを管理します。
Discord ボット
Slack ボットと並べて Discord ボットをホストします。

