From af2aa34b518cd8d361e36973b80df0285dacf4bc Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Thu, 8 Oct 2026 13:26:06 -0400 Subject: [PATCH] docs: fix broken links - Point removed getting-started links at /quickstart or creating-an-app (english and japanese) - Point concepts/ai-apps at concepts/adding-agent-features - Update node-slack-sdk migration guide paths to their web-api/ and socket-mode/ folders - Map deno-slack-sdk slack-types anchors to the per-type pages under /reference/types - Fix stale node-slack-sdk oauth anchors in the japanese OAuth page Co-Authored-By: Claude --- .../concepts/custom-steps-dynamic-options.md | 20 +++++++++---------- docs/english/creating-an-app.md | 2 +- docs/english/deployments/aws-lambda.md | 6 +++--- docs/english/deployments/heroku.md | 4 ++-- docs/english/index.md | 2 +- docs/english/migration/migration-v4.md | 4 ++-- .../japanese/concepts/authenticating-oauth.md | 4 ++-- docs/japanese/deployments/aws-lambda.md | 8 ++++---- docs/japanese/deployments/heroku.md | 6 +++--- docs/japanese/legacy/hubot-migration.md | 4 ++-- docs/japanese/reference.md | 2 +- 11 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/english/concepts/custom-steps-dynamic-options.md b/docs/english/concepts/custom-steps-dynamic-options.md index 6557b8a5b..e5ac99bda 100644 --- a/docs/english/concepts/custom-steps-dynamic-options.md +++ b/docs/english/concepts/custom-steps-dynamic-options.md @@ -88,13 +88,13 @@ The `inputs` attribute defines the parameters to be passed as inputs to the step The following format can be used to reference any input parameter defined by the step: `{{input_parameters.}}`. -In addition, the `{{client.query}}` parameter can be used as a placeholder for an input value. The `{{client.builder_context}}` parameter will inject the [`slack#/types/user_context`](/tools/deno-slack-sdk/reference/slack-types/#usercontext) of the user building the workflow as the value to the input parameter. +In addition, the `{{client.query}}` parameter can be used as a placeholder for an input value. The `{{client.builder_context}}` parameter will inject the [`slack#/types/user_context`](/reference/types/user_context-type) of the user building the workflow as the value to the input parameter. ### Types of dynamic options UIs {#dynamic-option-UIs} The above example demonstrates one possible UI to be rendered for builders: a single-select drop-down menu of dynamic options. However, dynamic options in Workflow Builder can be rendered in one of two ways: as a drop-down menu (single-select or multi-select), or as a set of fields. -The type is dictated by the output parameter of the custom step used as a dynamic option. In order to use a custom step in a dynamic option context, its output must adhere to a defined interface, that is, it must have an `options` parameter of type [`options_select`](/tools/deno-slack-sdk/reference/slack-types#options_select) or [`options_field`](/tools/deno-slack-sdk/reference/slack-types#options_field), as shown in the following code snippet. +The type is dictated by the output parameter of the custom step used as a dynamic option. In order to use a custom step in a dynamic option context, its output must adhere to a defined interface, that is, it must have an `options` parameter of type [`options_select`](/reference/types/options_select-type) or [`options_field`](/reference/types/options_field-type), as shown in the following code snippet. ```js "output_parameters": { @@ -109,9 +109,9 @@ The type is dictated by the output parameter of the custom step used as a dynami #### Drop-down menus {#drop-down} -Your dynamic input parameter can be rendered as a drop-down menu, which will use the options obtained from a custom step with an `options` output parameter of the type [`options_select`](/tools/deno-slack-sdk/reference/slack-types#options_select). +Your dynamic input parameter can be rendered as a drop-down menu, which will use the options obtained from a custom step with an `options` output parameter of the type [`options_select`](/reference/types/options_select-type). -The drop-down menu UI component can be rendered in two ways: single-select, or multi-select. To render the dynamic input as a single-select menu, the input parameter defining the dynamic option must be of the type [`string`](/tools/deno-slack-sdk/reference/slack-types#string). +The drop-down menu UI component can be rendered in two ways: single-select, or multi-select. To render the dynamic input as a single-select menu, the input parameter defining the dynamic option must be of the type [`string`](/reference/types/string-type). ```js "step-with-dynamic-input": { @@ -133,7 +133,7 @@ The drop-down menu UI component can be rendered in two ways: single-select, or m } ``` -To render the dynamic input as a multi-select menu, the input parameter defining the dynamic option must be of the type [`array`](/tools/deno-slack-sdk/reference/slack-types#array), and its `items` must be of type [`string`](/tools/deno-slack-sdk/reference/slack-types#string). +To render the dynamic input as a multi-select menu, the input parameter defining the dynamic option must be of the type [`array`](/reference/types/array-type), and its `items` must be of type [`string`](/reference/types/string-type). ```js "step-with-dynamic-input": { @@ -159,9 +159,9 @@ To render the dynamic input as a multi-select menu, the input parameter defining #### Fields {#fields} -In the code snippet below, the input parameter is rendered as a set of fields with keys and values. The option fields are obtained from a custom step with an `options` output parameter of type [`options_field`](/tools/deno-slack-sdk/reference/slack-types#options_field). +In the code snippet below, the input parameter is rendered as a set of fields with keys and values. The option fields are obtained from a custom step with an `options` output parameter of type [`options_field`](/reference/types/options_field-type). -The input parameter that defines the dynamic option must be of type [`object`](/tools/deno-slack-sdk/reference/slack-types#object), as the completed set of fields in Workflow Builder will be passed to the custom step as an [untyped object](/tools/deno-slack-sdk/reference/slack-types#untyped-object) during workflow execution. +The input parameter that defines the dynamic option must be of type [`object`](/reference/types/object-type), as the completed set of fields in Workflow Builder will be passed to the custom step as an [untyped object](/reference/types/object-type#untyped-object) during workflow execution. ```js "test-field-dynamic-options": { @@ -185,15 +185,15 @@ The input parameter that defines the dynamic option must be of type [`object`](/ ### Dynamic option types {#dynamic-option-types} -As mentioned earlier, in order to use a custom step as a dynamic option, its output must adhere to a defined interface: it must have an `options` output parameter of the type either [`options_select`](/tools/deno-slack-sdk/reference/slack-types#options_select) or [`options_field`](/tools/deno-slack-sdk/reference/slack-types#options_field). +As mentioned earlier, in order to use a custom step as a dynamic option, its output must adhere to a defined interface: it must have an `options` output parameter of the type either [`options_select`](/reference/types/options_select-type) or [`options_field`](/reference/types/options_field-type). -To take a look at these in more detail, refer to our [Options Slack type](/tools/deno-slack-sdk/reference/slack-types#options) documentation. +To take a look at these in more detail, refer to our [Options Slack type](/reference/types) documentation. ## Dynamic options handler {#dynamic-option-handler} Each custom step defined in the manifest needs a corresponding handler in your Slack app. Although implemented similarly to existing function execution event handlers, there are two key differences between regular custom step invocations and those used for dynamic options: -* The custom step must have an `options` output parameter that is of type [`options_select`](/tools/deno-slack-sdk/reference/slack-types#options_select) or [`options_field`](/tools/deno-slack-sdk/reference/slack-types#options_field). +* The custom step must have an `options` output parameter that is of type [`options_select`](/reference/types/options_select-type) or [`options_field`](/reference/types/options_field-type). * The [`function_executed`](/reference/events/function_executed) event must be handled synchronously. This optimizes the response time of returned dynamic options and provides a crisp builder experience. ### Asynchronous event handling {#async} diff --git a/docs/english/creating-an-app.md b/docs/english/creating-an-app.md index 36748801d..bcee79ca7 100644 --- a/docs/english/creating-an-app.md +++ b/docs/english/creating-an-app.md @@ -615,4 +615,4 @@ Now that you have an app up and running, you can start exploring how to make you - Read through the various concepts pages to learn about the different methods and features accessible to your Bolt app. - Explore the different events your bot can listen to with the [`event`](/tools/bolt-js/concepts/event-listening) method. View the full events reference docs [here](/reference/events). - The Bolt framework allows you to [call Web API methods](/tools/bolt-js/concepts/web-api) with the client attached to your app. View the over 200 methods [here](/reference/methods). -- Check out how to use AI in your app with the [Using AI in apps](/tools/bolt-js/concepts/ai-apps) guide. +- Check out how to use AI in your app with the [Using AI in apps](/tools/bolt-js/concepts/adding-agent-features) guide. diff --git a/docs/english/deployments/aws-lambda.md b/docs/english/deployments/aws-lambda.md index 316fd8f35..c7917eac7 100644 --- a/docs/english/deployments/aws-lambda.md +++ b/docs/english/deployments/aws-lambda.md @@ -82,7 +82,7 @@ You're now set up with the Serverless tools! Let's move on to preparing your Bol ## Get a Bolt Slack app {#get-a-bolt-slack-app} -If you haven't already built your own Bolt app, you can use our [Quickstart guide](/tools/bolt-js/getting-started) or clone the template app below: +If you haven't already built your own Bolt app, you can use our [Quickstart guide](/tools/bolt-js/creating-an-app) or clone the template app below: ```shell git clone https://github.com/slack-samples/bolt-js-getting-started-app.git @@ -193,7 +193,7 @@ plugins: `SLACK_SIGNING_SECRET` and `SLACK_BOT_TOKEN` must be environment variables on your local machine. -You can [learn how to export Slack environment variables](/tools/bolt-js/getting-started#creating-a-project) in our Quickstart guide. +You can [learn how to export Slack environment variables](/tools/bolt-js/creating-an-app#creating-an-app) in our Quickstart guide. ::: @@ -255,7 +255,7 @@ Second, select **Event Subscriptions** from the side and update the **Request UR ### 3. Test your Slack app -Now you can test your Slack app by inviting your app to a channel then saying “hello” (lower-case). Just like in the [Quickstart guide](/tools/bolt-js/getting-started#running-the-app), your app should respond back: +Now you can test your Slack app by inviting your app to a channel then saying “hello” (lower-case). Just like in the [Quickstart guide](/tools/bolt-js/creating-an-app#running-the-app), your app should respond back: ``` > 👩‍💻 hello diff --git a/docs/english/deployments/heroku.md b/docs/english/deployments/heroku.md index 0ff553ea8..4f9b092b7 100644 --- a/docs/english/deployments/heroku.md +++ b/docs/english/deployments/heroku.md @@ -14,7 +14,7 @@ Using Heroku dynos to complete this tutorial counts towards your usage. [Delete ## Get a Bolt Slack app {#get-a-bolt-slack-app} -If you haven't already built your own Bolt app, you can use our [Quickstart guide](/tools/bolt-js/getting-started) or clone the template app below: +If you haven't already built your own Bolt app, you can use our [Quickstart guide](/tools/bolt-js/creating-an-app) or clone the template app below: ```shell git clone https://github.com/slack-samples/bolt-js-getting-started-app.git @@ -254,7 +254,7 @@ Second, select **Event Subscriptions** from the side and update the **Request UR Your app is now deployed and Slack is updated, so let's try it out! -Open a Slack channel that your app has joined and say "hello" (lower-case). Just like in the [Quickstart guide](/tools/bolt-js/getting-started#running-the-app), your app should respond back. If you don't receive a response, check your **Request URL** and try again. +Open a Slack channel that your app has joined and say "hello" (lower-case). Just like in the [Quickstart guide](/tools/bolt-js/creating-an-app#running-the-app), your app should respond back. If you don't receive a response, check your **Request URL** and try again. --- diff --git a/docs/english/index.md b/docs/english/index.md index 01b3f2baf..97514ead0 100644 --- a/docs/english/index.md +++ b/docs/english/index.md @@ -1,6 +1,6 @@ # Bolt for JavaScript -Bolt for JavaScript is a JavaScript framework to build Slack apps with the latest Slack platform features. Read the [Quickstart Guide](/tools/bolt-js/getting-started) to set up and run your first Bolt app. +Bolt for JavaScript is a JavaScript framework to build Slack apps with the latest Slack platform features. Read the [Quickstart Guide](/quickstart) to set up and run your first Bolt app. Then, explore the rest of the pages within the Guides section. The documentation there will help you build a Bolt app for whatever use case you may have. diff --git a/docs/english/migration/migration-v4.md b/docs/english/migration/migration-v4.md index cf89a3741..edf8903c1 100644 --- a/docs/english/migration/migration-v4.md +++ b/docs/english/migration/migration-v4.md @@ -52,11 +52,11 @@ With the above, now when a message payload is wrapped in middleware arguments, i All bolt handlers are [provided a convenience `client` argument](../concepts/web-api) that developers can use to make API requests to [Slack's public HTTP APIs][methods]. This `client` is powered by [the `@slack/web-api` package][web-api]. In bolt v4, `web-api` has been upgraded from v6 to v7. -More APIs! Better argument type safety! And a whole slew of other changes, too. Many of these changes won't affect JavaScript application builders, but if you are building a bolt app using TypeScript, you may see some compilation issues. Head over to [the `@slack/web-api` v6 -> v7 migration guide](/tools/node-slack-sdk/migration/migrating-web-api-package-to-v7) to get the details on what changed and how to migrate to v7. +More APIs! Better argument type safety! And a whole slew of other changes, too. Many of these changes won't affect JavaScript application builders, but if you are building a bolt app using TypeScript, you may see some compilation issues. Head over to [the `@slack/web-api` v6 -> v7 migration guide](/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7) to get the details on what changed and how to migrate to v7. ## 🔌 `@slack/socket-mode` v2 upgrade {#socket-mode-v2} -While the breaking changes from this upgrade should be shielded from most bolt-js users, if you are using [the `SocketModeReceiver` or setting `socketMode: true`](../concepts/socket-mode) _and_ attach custom code to how the `SocketModeReceiver` operates, we suggest you read through [the `@slack/socket-mode` v1 -> v2 migration guide](/tools/node-slack-sdk/migration/migrating-socket-mode-package-to-v2/), just in case. +While the breaking changes from this upgrade should be shielded from most bolt-js users, if you are using [the `SocketModeReceiver` or setting `socketMode: true`](../concepts/socket-mode) _and_ attach custom code to how the `SocketModeReceiver` operates, we suggest you read through [the `@slack/socket-mode` v1 -> v2 migration guide](/tools/node-slack-sdk/migration/socket-mode/migrating-socket-mode-package-to-v2), just in case. ## 🚅 `express` v5 upgrade {#express-v5} diff --git a/docs/japanese/concepts/authenticating-oauth.md b/docs/japanese/concepts/authenticating-oauth.md index 08341da01..cfffcc9c7 100644 --- a/docs/japanese/concepts/authenticating-oauth.md +++ b/docs/japanese/concepts/authenticating-oauth.md @@ -34,9 +34,9 @@ const app = new App({ * **Slack で開く**: ユーザーが **Slack で開く** を選択した後、アプリが Slack からのイベントをするときに `installationStore` の `fetchInstallation` や `storeInstallation` ハンドラーが実行されます。ハンドラーに渡す引数に関するより詳しい情報は **Installation Object** セクションを参照してください。 -* アプリがすでにインストールされていて、さらにユーザーから追加の認可情報(例:ユーザートークンの発行)な場合や、何らかの理由で動的にインストール用の URL を生成したい場合は、`ExpressReceiver` を自前でインスタンス化し、それを `receiver` という変数に代入した上で `receiver.installer.generateInstallUrl()` を呼び出してください。詳しくは [OAuth ライブラリのドキュメント](/tools/node-slack-sdk/oauth#generating-an-installation-url)の `generateInstallUrl()` を参照してください。 +* アプリがすでにインストールされていて、さらにユーザーから追加の認可情報(例:ユーザートークンの発行)な場合や、何らかの理由で動的にインストール用の URL を生成したい場合は、`ExpressReceiver` を自前でインスタンス化し、それを `receiver` という変数に代入した上で `receiver.installer.generateInstallUrl()` を呼び出してください。詳しくは [OAuth ライブラリのドキュメント](/tools/node-slack-sdk/oauth#showing-an-installation-page)の `generateInstallUrl()` を参照してください。 -* 💡 Bolt for JavaScript は [カスタムのレシーバー](/tools/bolt-js/concepts/receiver)での OAuth をサポートしていません。カスタムのレシーバーで OAuth フローを実装したい場合は、私たちが提供している [OAuth ライブラリ](/tools/node-slack-sdk/oauth#slack-oauth) を使うことができます。Bolt for JavaScript の組み込みのモジュールもこれを内部的に利用しています。 +* 💡 Bolt for JavaScript は [カスタムのレシーバー](/tools/bolt-js/concepts/receiver)での OAuth をサポートしていません。カスタムのレシーバーで OAuth フローを実装したい場合は、私たちが提供している [OAuth ライブラリ](/tools/node-slack-sdk/oauth) を使うことができます。Bolt for JavaScript の組み込みのモジュールもこれを内部的に利用しています。 ##### Redirect URI diff --git a/docs/japanese/deployments/aws-lambda.md b/docs/japanese/deployments/aws-lambda.md index 59b7977d6..9ae3d644a 100644 --- a/docs/japanese/deployments/aws-lambda.md +++ b/docs/japanese/deployments/aws-lambda.md @@ -86,7 +86,7 @@ Serverless のツールのセットアップが完了しました。次に、AWS ## Bolt Slack アプリを入手する {#get-a-bolt-slack-app} -まだ Bolt アプリを自分で作成したことがない場合は、[入門ガイド](/tools/bolt-js/getting-started)を参照してください。テンプレートのアプリをクローンするには、以下のコマンドを実行します。 +まだ Bolt アプリを自分で作成したことがない場合は、[入門ガイド](/tools/bolt-js/ja-jp/creating-an-app)を参照してください。テンプレートのアプリをクローンするには、以下のコマンドを実行します。 ```shell git clone https://github.com/slackapi/bolt-js-getting-started-app.git @@ -194,7 +194,7 @@ plugins: :::tip -`SLACK_SIGNING_SECRET` と `SLACK_BOT_TOKEN` の環境変数は、ローカルマシンで設定しておく必要があります。[Slack の環境変数をエクスポートする方法](/tools/bolt-js/getting-started#setting-up-your-project)を入門ガイドで参照してください。 +`SLACK_SIGNING_SECRET` と `SLACK_BOT_TOKEN` の環境変数は、ローカルマシンで設定しておく必要があります。[Slack の環境変数をエクスポートする方法](/tools/bolt-js/ja-jp/creating-an-app#setting-up-your-project)を入門ガイドで参照してください。 ::: @@ -238,7 +238,7 @@ ngrok http 3000 :::tip -パブリック URL の作成方法と、ローカルマシンへのリクエストの転送方法については、[ngrok の使い方](/tools/bolt-js/getting-started#setting-up-events)を参照してください。 +パブリック URL の作成方法と、ローカルマシンへのリクエストの転送方法については、[ngrok の使い方](/tools/bolt-js/ja-jp/creating-an-app#setting-up-events)を参照してください。 ::: @@ -262,7 +262,7 @@ ngrok http 3000 ### 3. Slack アプリをテストする -Slack アプリをテストします。今作った Bolt アプリを Slack のチャンネルに招待し、半角の小文字で「hello」と入力してみましょう。[入門ガイド](/tools/bolt-js/getting-started)のとおり、アプリから応答があるはずです。 +Slack アプリをテストします。今作った Bolt アプリを Slack のチャンネルに招待し、半角の小文字で「hello」と入力してみましょう。[入門ガイド](/tools/bolt-js/ja-jp/creating-an-app)のとおり、アプリから応答があるはずです。 > 👩‍💻 hello
> 🤖 Hey there @Jane! diff --git a/docs/japanese/deployments/heroku.md b/docs/japanese/deployments/heroku.md index 8c91829dc..46318e620 100644 --- a/docs/japanese/deployments/heroku.md +++ b/docs/japanese/deployments/heroku.md @@ -8,7 +8,7 @@ ## Bolt Slack アプリを入手する {#get-a-bolt-slack-app} -Bolt アプリを作るのが初めてという場合は、まず[Bolt 入門ガイド](/tools/bolt-js/getting-started)に沿って進めてみましょう。または、以下のテンプレートアプリをクローンしてもよいでしょう。 +Bolt アプリを作るのが初めてという場合は、まず[Bolt 入門ガイド](/tools/bolt-js/ja-jp/creating-an-app)に沿って進めてみましょう。または、以下のテンプレートアプリをクローンしてもよいでしょう。 ```shell git clone https://github.com/slackapi/bolt-js-getting-started-app.git @@ -173,7 +173,7 @@ heroku config:set SLACK_BOT_TOKEN=xoxb- :::tip -認証情報の入手場所がわからない場合、Bolt 入門ガイドで[署名シークレットとトークンのエクスポート](/tools/bolt-js/getting-started)について参照してください。 +認証情報の入手場所がわからない場合、Bolt 入門ガイドで[署名シークレットとトークンのエクスポート](/tools/bolt-js/ja-jp/creating-an-app#tokens-and-installing-apps)について参照してください。 ::: @@ -248,7 +248,7 @@ heroku info アプリのデプロイが完了し、Slack の設定変更も行いました。アプリを試してみましょう。 -アプリが参加しているSlack チャンネルを開き、半角の小文字で"hello" と書き込みます。[Bolt 入門ガイド](/tools/bolt-js/getting-started)のとおり、アプリから応答があるはずです。応答がない場合、リクエスト**URLを**確認し、もう一度試してください。 +アプリが参加しているSlack チャンネルを開き、半角の小文字で"hello" と書き込みます。[Bolt 入門ガイド](/tools/bolt-js/ja-jp/creating-an-app)のとおり、アプリから応答があるはずです。応答がない場合、リクエスト**URLを**確認し、もう一度試してください。 --- diff --git a/docs/japanese/legacy/hubot-migration.md b/docs/japanese/legacy/hubot-migration.md index c7139669f..1c212f99a 100644 --- a/docs/japanese/legacy/hubot-migration.md +++ b/docs/japanese/legacy/hubot-migration.md @@ -46,14 +46,14 @@ Slack では、Hubot アプリはユーザーとの対話型のボットユー :::warning -ボットのイベントを設定する前に、パブリック URL が必要です。Bolt アプリを作成したことがない場合、または Events API を使用したことがない場合は、『Getting Started ガイド』の [ローカル Bolt プロジェクトの設定](/tools/bolt-js/getting-started) と [イベントの設定](/tools/bolt-js/getting-started#setting-up-events) を参考にしてください。 +ボットのイベントを設定する前に、パブリック URL が必要です。Bolt アプリを作成したことがない場合、または Events API を使用したことがない場合は、『Getting Started ガイド』の [ローカル Bolt プロジェクトの設定](/tools/bolt-js/ja-jp/creating-an-app#setting-up-your-project) と [イベントの設定](/tools/bolt-js/ja-jp/creating-an-app#setting-up-events) を参考にしてください。 ::: ### メッセージのリスニング すべての Hubot アプリは、デフォルトでメッセージをリッスンできるので、ボットユーザーがそうするように設定する必要があります。 -[イベントの設定](/tools/bolt-js/getting-started#setting-up-events) を行ってから、リクエスト URL を入力、そして検証されたことを確認したら、**Subscribe to Bot Events** にスクロールダウンします。メッセージに関連する次の 4 つのイベントがあります `message channel` (パブリックチャンネルのメッセージをリッスン)、`message group` (プライベートチャンネルのメッセージをリッスン)、`message.im` (アプリのホーム/DM スペースのメッセージをリッスン)、`message.mpim` (マルチパーソン DM のメッセージをリッスン)。 +[イベントの設定](/tools/bolt-js/ja-jp/creating-an-app#setting-up-events) を行ってから、リクエスト URL を入力、そして検証されたことを確認したら、**Subscribe to Bot Events** にスクロールダウンします。メッセージに関連する次の 4 つのイベントがあります `message channel` (パブリックチャンネルのメッセージをリッスン)、`message group` (プライベートチャンネルのメッセージをリッスン)、`message.im` (アプリのホーム/DM スペースのメッセージをリッスン)、`message.mpim` (マルチパーソン DM のメッセージをリッスン)。 ボットがチャンネルのメッセージをリッスンするだけでよい場合は、`message.channels` と`message.groups` をリッスンできます。または、ボットがすべての場所のメッセージをリッスンするようにするには、4 つのメッセージイベントすべてを選択します。 diff --git a/docs/japanese/reference.md b/docs/japanese/reference.md index b4ffe1c8b..bcf01a097 100644 --- a/docs/japanese/reference.md +++ b/docs/japanese/reference.md @@ -4,7 +4,7 @@ sidebar_label: リファレンス # リファレンス(Appインターフェイスと設定) -このガイドでは、Bolt インターフェイスのリスナー関数、リスナー関数の引数、初期化オプション、エラーについて詳しく説明します。⚡[入門ガイド](/tools/bolt-js/getting-started)をまだ完了していない場合は、先にそちらで Bolt for JavaScript アプリ開発の基本を確認しておきましょう。 +このガイドでは、Bolt インターフェイスのリスナー関数、リスナー関数の引数、初期化オプション、エラーについて詳しく説明します。⚡[入門ガイド](/tools/bolt-js/ja-jp/creating-an-app)をまだ完了していない場合は、先にそちらで Bolt for JavaScript アプリ開発の基本を確認しておきましょう。 ## リスナー関数 {#listener-functions} Slack アプリは通常、Slack からのイベント情報を受け取ったり、それに応答を返したりします。受信するイベントは 1 つの場合もあれば、多数の場合もあります。例えば、Events API のイベント(アプリに関連するリンクが共有されたときなど)や、ユーザーがアプリのショートカットを実行するイベントを受け取ったりします。Slack からのリクエストの種類に応じて、それぞれ異なるメソッドが用意されています。これらのメソッドに、それらのイベントを処理したり応答を返したりするための**リスナー関数**を渡します。