From 898db4f3bd693c32a68f3f9a0beb53ba97fedaf6 Mon Sep 17 00:00:00 2001 From: Jason Wong Date: Thu, 21 Jul 2022 15:24:26 +0900 Subject: [PATCH] Updates links and adds anchors in JP and EN docs (#1526) --- docs/_deployments/aws-lambda.md | 14 ++--- docs/_deployments/heroku.md | 14 ++--- docs/_deployments/ja_aws-lambda.md | 26 ++++---- docs/_deployments/ja_heroku.md | 14 ++--- docs/_includes/sidebar.html | 2 +- docs/_tutorials/getting_started.md | 16 ++--- docs/_tutorials/getting_started_http.md | 14 ++--- docs/_tutorials/hubot_migration.md | 18 +++--- docs/_tutorials/ja_getting_started.md | 18 +++--- docs/_tutorials/ja_getting_started_http.md | 20 +++---- docs/_tutorials/ja_hubot_migration.md | 18 +++--- docs/_tutorials/ja_migration_v2.md | 16 ++--- docs/_tutorials/ja_migration_v3.md | 10 ++-- docs/_tutorials/ja_reference.md | 70 +++++++++++----------- docs/_tutorials/ja_using-typescript.md | 2 +- docs/_tutorials/migration_v2.md | 12 ++-- docs/_tutorials/migration_v3.md | 10 ++-- docs/_tutorials/reference.md | 18 +++--- docs/_tutorials/using-typescript.md | 2 +- 19 files changed, 157 insertions(+), 157 deletions(-) diff --git a/docs/_deployments/aws-lambda.md b/docs/_deployments/aws-lambda.md index 803cdd6ab..847bd52d5 100644 --- a/docs/_deployments/aws-lambda.md +++ b/docs/_deployments/aws-lambda.md @@ -16,7 +16,7 @@ When you’re finished, you’ll have this ⚡[Deploying to AWS Lambda app][d --- -### Set up AWS Lambda +### Set up AWS Lambda {#set-up-aws-lambda} [AWS Lambda][aws-lambda] is a serverless, Function-as-a-Service (FaaS) platform that allows you to run code without managing servers. In this section, we'll configure your local machine to access AWS Lambda. @@ -62,7 +62,7 @@ That wraps up configuring your local machine to access AWS. 👏 Next, let's do --- -### Set up Serverless Framework +### Set up Serverless Framework {#set-up-serverless-framework} The [Serverless Framework][serverless-framework] includes tools that let you easily configure, debug, and deploy your app to AWS Lambda. @@ -80,7 +80,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 {#get-a-bolt-slack-app} If you haven't already built your own Bolt app, you can use our [Getting Started guide][getting-started-guide] or clone the template app below: @@ -98,7 +98,7 @@ Now that you have an app, let's prepare it for AWS Lambda and the Serverless Fra --- -### Prepare the app +### Prepare the app {#prepare-the-app} **1. Prepare the app for AWS Lambda** @@ -202,7 +202,7 @@ Congratulations, you've just prepared your Bolt app for AWS Lambda and Serverles --- -### Run the app locally +### Run the app locally {#run-the-app-locally} Now that your app is configured to respond to an AWS Lambda function, we'll set up your environment to run the app locally. @@ -252,7 +252,7 @@ If you don’t receive a response, check your **Request URL** and try again. --- -### Deploy the app +### Deploy the app {#deploy-the-app} In the previous section of this tutorial, you ran your app locally and tested it in a live Slack workspace. Now that you have a working app, let's deploy it! @@ -323,7 +323,7 @@ When the deploy is complete, you can open a Slack channel that your app has join --- -### Next steps +### Next steps {#next-steps} You just deployed your first ⚡[Bolt for JavaScript app to AWS Lambda][deploy-aws-lambda-app]! 🚀 diff --git a/docs/_deployments/heroku.md b/docs/_deployments/heroku.md index b45ba78c3..a75427f00 100644 --- a/docs/_deployments/heroku.md +++ b/docs/_deployments/heroku.md @@ -16,7 +16,7 @@ When you’re finished, you’ll have this ⚡[Deploying to Heroku app][deplo --- -### Get a Bolt Slack app +### Get a Bolt Slack app {#get-a-bolt-slack-app} If you haven't already built your own Bolt app, you can use our [Getting Started guide][getting-started-guide] or clone the template app below: @@ -34,7 +34,7 @@ Now that you have an app, let's prepare it for Heroku. --- -### Prepare the app for Heroku +### Prepare the app for Heroku {#prepare-the-app-for-heroku} Heroku is a flexible platform that requires some configuration to host your app. In this section, we'll update your Bolt app to support Heroku. @@ -73,7 +73,7 @@ git commit -m "Add Procfile" --- -### Set up the Heroku tools +### Set up the Heroku tools {#set-up-the-heroku-tools} Now we can set up the Heroku tools on your local machine. These tools will help you manage, deploy, and debug your app on Heroku's platform. @@ -114,7 +114,7 @@ You should now be set up with the Heroku tools! Let's move on to the exciting st --- -### Create an app on Heroku +### Create an app on Heroku {#create-an-app-on-heroku} It’s time to [create a Heroku app](https://devcenter.heroku.com/articles/creating-apps) using the tools that you just installed. When you create an app, you can choose a unique name or have it randomly generated. @@ -167,7 +167,7 @@ Now that we have prepared your local app and created a Heroku app, the next step --- -### Deploy the app +### Deploy the app {#deploy-the-app} To deploy the app, we're going to push your local code to Heroku, update your Slack app's settings, and say "hello" to your Heroku app. ✹ @@ -225,7 +225,7 @@ Open a Slack channel that your app has joined and say "hello" (lower-case). Just --- -### Deploy an update +### Deploy an update {#deploy-an-update} As you continue building your Slack app, you'll need to deploy updates. A common flow is to make a change, commit it, and then push it to Heroku. @@ -255,7 +255,7 @@ When the deploy is complete, you can open a Slack channel that your app has join --- -### Next steps +### Next steps {#next-steps} You just deployed your first ⚡[Bolt for JavaScript app to Heroku][deploy-heroku-app]! 🚀 diff --git a/docs/_deployments/ja_aws-lambda.md b/docs/_deployments/ja_aws-lambda.md index 676426e0e..b01c5bab3 100644 --- a/docs/_deployments/ja_aws-lambda.md +++ b/docs/_deployments/ja_aws-lambda.md @@ -16,7 +16,7 @@ permalink: /ja-jp/deployments/aws-lambda --- -### AWS Lambda のセットアップ +### AWS Lambda のセットアップ {#set-up-aws-lambda} [AWS Lambda][aws-lambda] はサヌバヌレスの Function-as-a-ServiceFaaSプラットフォヌムです。AWS Lambda を利甚するず、サヌバヌを管理するこずなく、コヌドを実行するこずができたす。このセクションでは、ロヌカルマシンから AWS Lambda にアクセスするための蚭定を行いたす。 @@ -62,7 +62,7 @@ aws configure --- -### Serverless Framework をセットアップする +### Serverless Framework をセットアップする {#set-up-serverless-framework} [Serverless Framework][serverless-framework] では、AWS Lambda 向けのアプリの蚭定、デバッグ、デプロむを簡単に行うためのツヌルが甚意されおいたす。 @@ -80,7 +80,7 @@ Serverless のツヌルのセットアップが完了したした。次に、AWS --- -### Bolt Slack アプリを入手する +### Bolt Slack アプリを入手する {#get-a-bolt-slack-app} ただ Bolt アプリを自分で䜜成したこずがない堎合は、[入門ガむド][getting-started-guide]を参照しおください。テンプレヌトのアプリをクロヌンするには、以䞋のコマンドを実行したす。 @@ -98,7 +98,7 @@ Bolt アプリを甚意できたした。次に AWS Lambda ず Serverless Framew --- -### アプリをセットアップする +### アプリをセットアップする {#prepare-the-app} **1. アプリを AWS Lambda に察応させる** @@ -113,7 +113,7 @@ const app = new App({ }); ``` -次に Lambda 関数のむベントに応答するよう、Bolt アプリの [`receiver`](https://slack.dev/bolt-js/ja-jp/concepts#receiver) をカスタマむズしたす。 +次に Lambda 関数のむベントに応答するよう、Bolt アプリの [`receiver`](/bolt-js/ja-jp/concepts#receiver) をカスタマむズしたす。 `app.js` の゜ヌスコヌドの䞭で[モゞュヌルのむンポヌトを行う郚分](https://github.com/slackapi/bolt-js-getting-started-app/blob/main/app.js#L1)を線集し、Bolt の `AwsLambdaReceiver` モゞュヌルを require したす。 @@ -184,7 +184,7 @@ plugins: - serverless-offline ``` -> 💡 `SLACK_SIGNING_SECRET` ず `SLACK_BOT_TOKEN` の環境倉数は、ロヌカルマシンで蚭定しおおく必芁がありたす。[Slack の環境倉数を゚クスポヌトする方法](/bolt-js/tutorial/getting-started#setting-up-your-project)を入門ガむドで参照しおください。 +> 💡 `SLACK_SIGNING_SECRET` ず `SLACK_BOT_TOKEN` の環境倉数は、ロヌカルマシンで蚭定しおおく必芁がありたす。[Slack の環境倉数を゚クスポヌトする方法](/bolt-js/ja-jp/tutorial/getting-started#setting-up-your-project)を入門ガむドで参照しおください。 **3. serverless-offline モゞュヌルをむンストヌルする** @@ -200,7 +200,7 @@ npm install --save-dev serverless-offline --- -### アプリをロヌカルで実行する +### アプリをロヌカルで実行する {#run-the-app-locally} アプリを AWS Lambda 関数に応答させるための準備が完了したので、次にロヌカルでアプリを実行できるように環境を蚭定したす。 @@ -248,7 +248,7 @@ Slack アプリをテストしたす。今䜜った Bolt アプリを Slack の --- -### アプリをデプロむする +### アプリをデプロむする {#deploy-the-app} 今たでロヌカルでアプリを実行し、 Slack ワヌクスペヌスでテストをしおきたした。さお、動䜜するアプリができたので、デプロむしおみたしょう! @@ -318,15 +318,15 @@ serverless deploy --- -### 次のステップ +### 次のステップ {#next-steps} ⚡[AWS Lambda を䜿った最初の Bolt for JavaScript アプリ][deploy-aws-lambda-app]をデプロむできたした。🚀 基本的なアプリのデプロむができたしたので、次はアプリのカスタマむズやモニタリングを行う方法を調べおみたしょう。 - [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ず [Serverless Framework](https://www.serverless.com/framework/docs/providers/aws/guide/intro/) の理解を深める。 -- [Bolt の基本的な抂念](/bolt-js/concepts#basic)ず [Serverless のプラグむン](https://www.serverless.com/framework/docs/providers/aws/guide/plugins/)を掻甚しおアプリを拡匵する。 -- [Bolt の応甚コンセプト](/bolt-js/concepts#logging)でログの蚘録に぀いおの知識を深めたり、[Serverless でのログメッセヌゞの衚瀺方法](https://www.serverless.com/framework/docs/providers/aws/cli-reference/logs/)に぀いお確認したりする。 +- [Bolt の基本的な抂念](/bolt-js/ja-jp/concepts#basic)ず [Serverless のプラグむン](https://www.serverless.com/framework/docs/providers/aws/guide/plugins/)を掻甚しおアプリを拡匵する。 +- [Bolt の応甚コンセプト](/bolt-js/ja-jp/concepts#logging)でログの蚘録に぀いおの知識を深めたり、[Serverless でのログメッセヌゞの衚瀺方法](https://www.serverless.com/framework/docs/providers/aws/cli-reference/logs/)に぀いお確認したりする。 - Serverless の [AWS Lambda のテスト環境](https://www.serverless.com/framework/docs/providers/aws/guide/testing/)や[デプロむ環境](https://www.serverless.com/framework/docs/providers/aws/guide/deploying/)を本栌的に掻甚する。 [aws-cli-configure]: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config @@ -341,6 +341,6 @@ serverless deploy [bolt-js]: /bolt-js [deploy-aws-lambda-app]: https://github.com/slackapi/bolt-js/tree/main/examples/deploy-aws-lambda [deploy-aws-lambda-app/app.js]: https://github.com/slackapi/bolt-js/tree/main/examples/deploy-aws-lambda/app.js -[getting-started-guide-setting-up-events]: https://slack.dev/bolt-js/tutorial/getting-started#setting-up-events -[getting-started-guide]: /bolt-js/tutorial/getting-started +[getting-started-guide-setting-up-events]: https://slack.dev/bolt-js/ja-jp/tutorial/getting-started#setting-up-events +[getting-started-guide]: /bolt-js/ja-jp/tutorial/getting-started [serverless-framework]: https://serverless.com/ diff --git a/docs/_deployments/ja_heroku.md b/docs/_deployments/ja_heroku.md index b07f1624a..9a0bd2c48 100644 --- a/docs/_deployments/ja_heroku.md +++ b/docs/_deployments/ja_heroku.md @@ -16,7 +16,7 @@ permalink: /ja-jp/deployments/heroku --- -### Bolt Slack アプリを入手する +### Bolt Slack アプリを入手する {#get-a-bolt-slack-app} Bolt アプリを䜜るのが初めおずいう堎合は、たず[Bolt 入門ガむド][getting-started-guide]に沿っお進めおみたしょう。たたは、以䞋のテンプレヌトアプリをクロヌンしおもよいでしょう。 @@ -34,7 +34,7 @@ cd bolt-js-getting-started-app/ --- -### アプリをHeroku で動かすための準備する +### アプリをHeroku で動かすための準備する {#prepare-the-app-for-heroku} Heroku は、䜜ったアプリをホストできる柔軟性の高いプラットフォヌムで、少し蚭定が必芁です。このセクションでは、Bolt アプリに倉曎を加え、Heroku に察応させたす。 @@ -73,7 +73,7 @@ git commit -m "Add Procfile" --- -### Heroku ツヌルをセットアップする +### Heroku ツヌルをセットアップする {#set-up-the-heroku-tools} ロヌカルマシンでHeroku ツヌルのセットアップを行いたす。このツヌルは、Heroku プラットフォヌムを䜿甚するアプリの管理、デプロむ、デバッグを行う堎合に䟿利です。 @@ -114,7 +114,7 @@ heroku auth:whoami --- -### Heroku アプリを䜜成する +### Heroku アプリを䜜成する {#create-an-app-on-heroku} 先ほどむンストヌルしたツヌルを䜿っお、[Heroku アプリを䜜成](https://devcenter.heroku.com/articles/creating-apps)したす。アプリを䜜成するずきは、ナニヌクな名前を自分で指定するか、ランダムな名前を生成するこずができたす。 @@ -168,7 +168,7 @@ heroku config:set SLACK_BOT_TOKEN=xoxb- --- -### アプリをデプロむする +### アプリをデプロむする {#deploy-the-app} アプリをデプロむするため、ロヌカルのコヌドをHeroku にプッシュしたす。その埌Slack アプリの蚭定を曎新し、Heroku アプリに"hello" ず声をかけおみたしょう。 ✹ @@ -227,7 +227,7 @@ heroku info --- -### 倉曎をデプロむする +### 倉曎をデプロむする {#deploy-an-update} Slack アプリを構築するなかで、倉曎を加えおデプロむする必芁がありたす。䞀般的な流れでは、倉曎を加え、コミットし、Heroku にプッシュするずいう順番です。 @@ -257,7 +257,7 @@ git push heroku main --- -### 次のステップ +### 次のステップ {#next-steps} これではじめお⚡Bolt for JavaScript アプリをHerokuぞデプロむするこずに成功したした。🚀 diff --git a/docs/_includes/sidebar.html b/docs/_includes/sidebar.html index 6e718fb56..b8a706b51 100644 --- a/docs/_includes/sidebar.html +++ b/docs/_includes/sidebar.html @@ -84,7 +84,7 @@
  • {{tutorial.title}}
  • {% endfor %} - +
  • {{ site.t[page.lang].contribute }}
  • diff --git a/docs/_tutorials/getting_started.md b/docs/_tutorials/getting_started.md index 10487913c..424cef21e 100644 --- a/docs/_tutorials/getting_started.md +++ b/docs/_tutorials/getting_started.md @@ -18,7 +18,7 @@ When you’re finished, you’ll have this ⚡[Getting Started app](https://g --- -### Create an app +### Create an app {#create-an-app} First thing's first: before you start developing with Bolt, you'll want to [create a Slack app](https://api.slack.com/apps/new). > 💡 We recommend using a workspace where you won't disrupt real work getting done — [you can create a new one for free](https://slack.com/get-started#create). @@ -33,7 +33,7 @@ Look around, add an app icon and description, and then let's start configuring y --- -### Tokens and installing apps +### Tokens and installing apps {#tokens-and-installing-apps} Slack apps use [OAuth to manage access to Slack's APIs](https://api.slack.com/docs/oauth). When an app is installed, you'll receive a token that the app can use to call API methods. There are three main token types available to a Slack app: user (`xoxp`), bot (`xoxb`), and app (`xapp`) tokens. @@ -57,7 +57,7 @@ We're going to use bot and app tokens for this guide. --- -### Setting up your project +### Setting up your project {#setting-up-your-project} With the initial configuration handled, it's time to set up a new Bolt project. This is where you'll write the code that handles the logic for your app. If you don’t already have a project, let’s create a new one. Create an empty directory and initialize a new project: @@ -120,12 +120,12 @@ Your app should let you know that it's up and running. 🎉 --- -### Setting up events +### Setting up events {#setting-up-events} Your app behaves similarly to people on your team — it can post messages, add emoji reactions, and listen and respond to events. To listen for events happening in a Slack workspace (like when a message is posted or when a reaction is posted to a message) you'll use the [Events API to subscribe to event types](https://api.slack.com/events-api). For this guide, we are going to be using [Socket Mode](https://api.slack.com/apis/connections/socket), our recommended option for those just getting started and building something for their team. -> 💡 Socket Mode lets apps use the Events API and interactive components without exposing a public HTTP endpoint. This can be helpful during development, or if you're receiving requests from behind a firewall. HTTP is more useful for apps being deployed to hosting environments (like [AWS](/bolt-js/deployments/aws-lambda) or [Heroku](/bolt-js/deployments/heroku)), or apps intended for distribution via the Slack App Directory. To continue this setting up guide with HTTP, head over [here](/bolt-js/tutorial/getting-started-http#setting-up-events). +> 💡 Socket Mode lets apps use the Events API and interactive components without exposing a public HTTP endpoint. This can be helpful during development, or if you're receiving requests from behind a firewall. HTTP is more useful for apps being deployed to hosting environments (like [AWS](/bolt-js/deployments/aws-lambda) or [Heroku](/bolt-js/deployments/heroku)), or apps intended for distribution via the Slack App Directory. To continue this setting up guide with HTTP, head over [here](/bolt-js/tutorial/getting-started-http#setting-up-events-with-http). Okay, let's enable Socket Mode: @@ -164,7 +164,7 @@ const app = new App({ ``` --- -### Listening and responding to a message +### Listening and responding to a message {#listening-and-responding-to-a-message} Your app is now ready for some logic. Let's start by using the `message()` method to attach a listener for messages. The following example listens and responds to all messages in channels/DMs where your app has been added that contain the word "hello": @@ -202,7 +202,7 @@ This is a basic example, but it gives you a place to start customizing your app --- -### Sending and responding to actions +### Sending and responding to actions {#sending-and-responding-to-actions} To use features like buttons, select menus, datepickers, modals, and shortcuts, you’ll need to enable interactivity. Head over to **Interactivity & Shortcuts** in your app configuration. @@ -328,7 +328,7 @@ You can see that we used `app.action()` to listen for the `action_id` that we na --- -### Next steps +### Next steps {#next-steps} You just built your first [Bolt for JavaScript app](https://github.com/slackapi/bolt-js-getting-started-app) with Socket Mode! 🎉 Now that you have a basic app up and running, you can start exploring how to make your Bolt app stand out. Here are some ideas about what to explore next: diff --git a/docs/_tutorials/getting_started_http.md b/docs/_tutorials/getting_started_http.md index 53d3fb26e..86075a63e 100644 --- a/docs/_tutorials/getting_started_http.md +++ b/docs/_tutorials/getting_started_http.md @@ -18,7 +18,7 @@ When you’re finished, you’ll have this ⚡[Getting Started app](https://g --- -### Create an app +### Create an app {#create-an-app} First thing's first: before you start developing with Bolt, you'll want to [create a Slack app](https://api.slack.com/apps/new). > 💡 We recommend using a workspace where you won't disrupt real work getting done — [you can create a new one for free](https://slack.com/get-started#create). @@ -33,7 +33,7 @@ Look around, add an app icon and description, and then let's start configuring y --- -### Tokens and installing apps +### Tokens and installing apps {#tokens-and-installing-apps} Slack apps use [OAuth to manage access to Slack's APIs](https://api.slack.com/docs/oauth). When an app is installed, you'll receive a token that the app can use to call API methods. There are three main token types available to a Slack app: user (`xoxp`), bot (`xoxb`), and app (`xapp`) tokens. @@ -57,7 +57,7 @@ For brevity, we're going to use bot tokens for this guide. --- -### Setting up your project +### Setting up your project {#setting-up-your-project} With the initial configuration handled, it's time to set up a new Bolt project. This is where you'll write the code that handles the logic for your app. If you don’t already have a project, let’s create a new one. Create an empty directory and initialize a new project: @@ -120,7 +120,7 @@ Your app should let you know that it's up and running. 🎉 --- -### Setting up events with http +### Setting up events with HTTP {#setting-up-events-with-http} Your app behaves similarly to people on your team — it can post messages, add emoji reactions, and listen and respond to events. To listen for events happening in a Slack workspace (like when a message is posted or when a reaction is posted to a message) you'll use the [Events API to subscribe to event types](https://api.slack.com/events-api). @@ -147,7 +147,7 @@ Scroll down to **Subscribe to Bot Events**. There are four events related to mes If you want your bot to listen to messages from everywhere it is added to, choose all four message events. After you’ve selected the events you want your bot to listen to, click the green **Save Changes** button. --- -### Listening and responding to a message +### Listening and responding to a message {#listening-and-responding-to-a-message} Your app is now ready for some logic. Let's start by using the `message()` method to attach a listener for messages. The following example listens and responds to all messages in channels/DMs where your app has been added that contain the word "hello": @@ -180,7 +180,7 @@ This is a basic example, but it gives you a place to start customizing your app --- -### Sending and responding to actions +### Sending and responding to actions {#sending-and-responding-to-actions} To use features like buttons, select menus, datepickers, modals, and shortcuts, you’ll need to enable interactivity. Similar to events, you'll need to specify a Request URL for Slack to send the action (such as *user clicked a button*). Head over to **Interactivity & Shortcuts** in your app configuration. @@ -296,7 +296,7 @@ You can see that we used `app.action()` to listen for the `action_id` that we na --- -### Next steps +### Next steps {#next-steps} You just built your first [Bolt for JavaScript app](https://github.com/slackapi/bolt-js-getting-started-app)! 🎉 Now that you have a basic app up and running, you can start exploring how to make your Bolt app stand out. Here are some ideas about what to explore next: diff --git a/docs/_tutorials/hubot_migration.md b/docs/_tutorials/hubot_migration.md index 59cbce209..4866a2cc3 100644 --- a/docs/_tutorials/hubot_migration.md +++ b/docs/_tutorials/hubot_migration.md @@ -18,7 +18,7 @@ If you already have an [app with a bot user](https://api.slack.com/bot-users#get --- -### Setting the stage +### Setting the stage {#setting-the-stage} When translating a Hubot app to Bolt for JavaScript, it’s good to know how each are working behind the scenes. Slack’s Hubot adapter is built to interface with the [RTM API](https://api.slack.com/rtm), which uses a WebSocket-based connection that sends a stream of workspace events to your Hubot app. The RTM API is not recommended for most use cases since it doesn’t include support for newer platform features and it can become very resource-intensive, particularly if the app is installed on multiple or large Slack teams. The default Bolt for JavaScript receiver is built to support the [Events API](https://api.slack.com/events-api), which uses HTTP-based event subscriptions to send JSON payloads to your Bolt app. The Events API includes newer events that aren’t on RTM and is more granular and scalable. It’s recommended for most use cases, though one reason your app may be stuck using the RTM API could be that the server you’re hosting your app from has a firewall that only allows outgoing requests and not incoming ones. @@ -30,7 +30,7 @@ There are a few other differences you may want to consider before creating a Bol --- -### Configuring your bot +### Configuring your bot {#configuring-your-bot} If you have access to an existing Slack app with a bot user, you can [jump ahead to the next section](#configure-what-your-bot-will-hear). If you aren’t sure, go to your [App Management page](https://api.slack.com/apps) and check whether your Hubot app is there. If it is, you can use the credentials from that app ([go ahead and skip to the next section](#configure-what-your-bot-will-hear)). Otherwise, we’ll walk you through creating a Slack app. #### Create a Slack app @@ -50,7 +50,7 @@ On Slack, Hubot apps employ bot users which are designed to interact with users To add a bot user to your new app, click **Bot Users** on the left sidebar and then **Add A Bot User**. Give it a display name and username, then click **Add Bot User**. There’s more information about what the different fields are [on our API site](https://api.slack.com/bot-users#creating-bot-user). -### Configure what your bot will hear +### Configure what your bot will hear {#configure-what-your-bot-will-hear} The [Events API](https://api.slack.com/bot-users#app-mentions-response) is a bot's equivalent of eyes and ears. It gives a bot a way to react to posted messages, changes to channels, and other activities that happen in Slack. > ⚠Before you configure your bot’s events, you’ll need a public URL. If you’ve never created a Bolt for JavaScript app or never used the Events API, it’d be helpful to go through [setting up your local Bolt project](https://slack.dev/bolt/tutorial/getting-started#setting-up-your-local-project) and [setting up events](https://slack.dev/bolt/tutorial/getting-started#setting-up-events) in the Getting Started guide. @@ -74,7 +74,7 @@ Your Hubot app may have responded to other events depending on what functionalit After you added events that correspond to your app’s functionality, click **Save Changes**. -### Changes to script interfaces +### Changes to script interfaces {#changes-to-script-interfaces} Bolt’s interface was designed to conform to the Slack API language as much as possible, while Hubot was designed with more generalized language to abstract multiple services. While the interfaces are similar, converting a Hubot script to a Bolt for JavaScript one still requires some code changes. Bolt for JavaScript doesn’t use `res` or expose the raw request from Slack. Instead, you can use the payload body from `payload`, or common functionality like sending a message using `say()`. @@ -109,7 +109,7 @@ Bolt for JavaScript uses a method called `event()` that allows you to listen to [Read more about listening to events](https://slack.dev/bolt/concepts#event-listening). -### Using Web API methods with Bolt for JavaScript +### Using Web API methods with Bolt for JavaScript {#using-web-api-methods-with-bolt-for-javascript} In Hubot, you needed to import the `WebClient` package from `@slack/client`. Bolt for JavaScript imports a `WebClient` instance for you by default, and exposes it as the `client` argument available on all listeners. To use the built-in `WebClient`, you’ll need to pass the token used to instantiate your app or the token associated with the team your request is coming from. This is found on the `context` object passed in to your listener functions. For example, to add a reaction to a message, you’d use: @@ -134,7 +134,7 @@ app.message('react', async ({ message, context, client, logger }) => { [Read more about using the Web API with Bolt](https://slack.dev/bolt/concepts#web-api). -### Using middleware with Bolt for JavaScript +### Using middleware with Bolt for JavaScript {#using-middleware-with-bolt-for-javascript} Hubot has three kinds of middleware: receive (runs before any listeners are called), listener (runs for every matching listener), and response (runs for every response sent). Bolt for JavaScript only has two kinds of middleware — global and listener: @@ -147,7 +147,7 @@ To migrate your existing middleware functions, it’s evident that Hubot’s rec If your middleware needs to perform post-processing of an event, you can call `await next()` and any code after will be processed after the downstream middleware has been called. -### Migrating the brain to the conversation store +### Migrating the brain to the conversation store {#migrating-the-brain-to-the-conversation-store} Hubot has an in-memory store called the brain. This enables a Hubot script to `get` and `set` basic pieces of data. Bolt for JavaScript uses a conversation store, which is a global middleware with a `get()`/`set()` interface. The default, built-in conversation store uses an in-memory store similar to Hubot, with the ability to set an expiration time in milliseconds. There are two ways to get and set conversation state: @@ -158,12 +158,12 @@ If there is more than one instance of your app running, the built-in conversatio [Read more about conversation stores](https://slack.dev/bolt/concepts#conversation-store). -### Next steps +### Next steps {#next-steps} If you’ve made it this far, it means you’ve likely converted your Hubot app into a Bolt for JavaScript app! ✚⚡ Now that you have your flashy new Bolt for JavaScript app, you can explore how to power it up: - Consider adding interactivity [like buttons and select menus](https://api.slack.com/messaging/interactivity#interaction). These weren’t supported by Hubot and will allow your app to include contextual actions when sending messages to Slack. -- Read [the documentation](https://slack.dev/bolt/concepts) to explore what else is possible with Bolt for JavaScript. +- Read [the documentation](/bolt-js/concepts) to explore what else is possible with Bolt for JavaScript. - Check out our [sample app](https://glitch.com/~slack-bolt) that shows you how to use events and interactive components. And if you have difficulties while developing, reach out to our developer support team to at [developers@slack.com](mailto:developers@slack.com), and if you run into a problem with the framework [open an issue on Github](https://github.com/slackapi/bolt-js/issues/new). diff --git a/docs/_tutorials/ja_getting_started.md b/docs/_tutorials/ja_getting_started.md index b8b80b4ba..4b4c0ab6e 100644 --- a/docs/_tutorials/ja_getting_started.md +++ b/docs/_tutorials/ja_getting_started.md @@ -19,7 +19,7 @@ redirect_from: --- -### アプリを䜜成する +### アプリを䜜成する {#create-an-app} 最初にやるべきこず: Bolt で開発を始める前に、 [Slack アプリを䜜成](https://api.slack.com/apps/new)したす。 > 💡 い぀もの仕事のさたたげにならないように、別に開発甚のワヌクスペヌスを䜿甚するこずをおすすめしたす — [新しいワヌクスペヌスを無料で䜜成](https://slack.com/get-started#create)できたす。 @@ -34,7 +34,7 @@ redirect_from: --- -### トヌクンずアプリのむンストヌル +### トヌクンずアプリのむンストヌル {#tokens-and-installing-apps} Slack アプリは、[OAuth を䜿甚しお、Slack の API ぞのアクセスを管理](https://api.slack.com/docs/oauth)したす。アプリがむンストヌルされるずトヌクンが発行されたす。そのトヌクンを䜿っお、アプリは API メ゜ッドを呌び出すこずができたす。 Slack アプリで䜿甚できるトヌクンには、ナヌザヌトヌクン`xoxp`ずボットトヌクン`xoxb`、アプリレベルトヌクン`xapp`の 3 皮類がありたす。 @@ -58,7 +58,7 @@ Slack アプリで䜿甚できるトヌクンには、ナヌザヌトヌクン --- -### ロヌカルプロゞェクトの蚭定 +### ロヌカルプロゞェクトの蚭定 {#setting-up-your-project} 初期蚭定が完了したので、次は新しい Bolt プロゞェクトを蚭定したす。ここで、アプリのロゞックを凊理するコヌドを蚘述したす。 プロゞェクトをただ䜜成しおいない堎合は、新しいプロゞェクトを䜜成したしょう。次のように、空のディレクトリを䜜成しお、新しいプロゞェクトを初期化したす。 @@ -120,13 +120,13 @@ node app.js --- -### むベントの蚭定 +### むベントの蚭定 {#setting-up-events} アプリはワヌクスペヌス内の他のメンバヌず同じように振る舞い、メッセヌゞを投皿したり、絵文字リアクションを远加したり、むベントをリッスンしお返答したりできたす。 -Slack ワヌクスペヌスで発生するむベントメッセヌゞが投皿されたずきや、メッセヌゞに察するリアクションが぀けられたずきなどをリッスンするには、[Events API を䜿っお特定の皮類のむベントをサブスクラむブしたす](https://api.slack.com/events-api)。このチュヌトリアルでは、[゜ケットモヌド](https://api.slack.com/apis/connections/socket)を䜿甚したす。Socketモヌドは、チヌムのために䜕かを䜜り始めたばかりの人にお勧めのオプションです。 +Slack ワヌクスペヌスで発生するむベントメッセヌゞが投皿されたずきや、メッセヌゞに察するリアクションが぀けられたずきなどをリッスンするには、[Events API を䜿っお特定の皮類のむベントをサブスクラむブしたす](https://api.slack.com/events-api)。このチュヌトリアルでは、[゜ケットモヌド](https://api.slack.com/apis/connections/socket)を䜿甚したす。 Socket モヌドは、チヌムのために䜕かを䜜り始めたばかりの人にお勧めのオプションです。 -> 💡 ゜ケットモヌドを䜿うこずで、アプリが公開された HTTP ゚ンドポむントを公開せずに Events API やむンタラクティブコンポヌネントを利甚できるようになりたす。このこずは、開発時やファむダヌりォヌルの裏からのリク゚ストを受ける際に䟿利です。HTTP での方匏はホスティング環境[AWS](/bolt-js/deployments/aws-lambda) or [Heroku](/bolt-js/deployments/heroku)などにデプロむするアプリや Slack App Directoryで配垃されるアプリに適しおいたす。HTTP での情報に぀いおは[こちらのドキュメント](/bolt-js/ja-jp/tutorial/getting-started-http)を参照しおください。 +> 💡 ゜ケットモヌドを䜿うこずで、アプリが公開された HTTP ゚ンドポむントを公開せずに Events API やむンタラクティブコンポヌネントを利甚できるようになりたす。このこずは、開発時やファむダヌりォヌルの裏からのリク゚ストを受ける際に䟿利です。HTTP での方匏はホスティング環境[AWS](/bolt-js/ja-jp/deployments/aws-lambda) or [Heroku](/bolt-js/ja-jp/deployments/heroku)などにデプロむするアプリや Slack App Directory で配垃されるアプリに適しおいたす。 HTTP での情報に぀いおは[こちらのドキュメント](/bolt-js/ja-jp/tutorial/getting-started-http#setting-up-events-with-http)を参照しおください。 それでは゜ケットモヌドを有効にしたす。 @@ -149,7 +149,7 @@ Slack ワヌクスペヌスで発生するむベントメッセヌゞが投 --- -### メッセヌゞのリスニングず応答 +### メッセヌゞのリスニングず応答 {#listening-and-responding-to-a-message} これで、アプリでいく぀かのロゞックを蚭定する準備が敎いたした。たずは `message()` メ゜ッドを䜿甚しお、メッセヌゞのリスナヌをアタッチしたしょう。 次の䟋では、あなたのアプリが远加されおいるチャンネルや DM で `hello` ずいう単語を含むすべおのメッセヌゞをリッスンし、 `Hey there @user!` ず応答したす。 @@ -187,7 +187,7 @@ app.message('hello', async ({ message, say }) => { --- -### アクションの送信ず応答 +### アクションの送信ず応答 {#sending-and-responding-to-actions} ボタン、遞択メニュヌ、日付ピッカヌ、モヌダルなどの機胜を䜿甚するには、むンタラクティブ機胜を有効にする必芁がありたす。むベントず同様に、Slack の URL を指定しおアクション ( 「ボタン・クリック」など) を送信する必芁がありたす。 @@ -313,7 +313,7 @@ app.action('button_click', async ({ body, ack, say }) => { --- -### 次のステップ +### 次のステップ {#next-steps} これで最初の Bolt アプリを゜ケットモヌドを䜿っお構築できたした! 🎉 基本的なアプリの䜜成ができたしたので、次回は是非もっずいろいろな、 Bolt の機胜を䜿っおアプリを䜜っおみたしょう。䞋蚘のリンクを蟿っおいろいろアむデアを暡玢しおみおください diff --git a/docs/_tutorials/ja_getting_started_http.md b/docs/_tutorials/ja_getting_started_http.md index 045cbce8a..c8858dc66 100644 --- a/docs/_tutorials/ja_getting_started_http.md +++ b/docs/_tutorials/ja_getting_started_http.md @@ -1,6 +1,6 @@ --- title: Bolt 入門ガむド (HTTP) -order: 0 +order: 5 slug: getting-started-http lang: ja-jp layout: tutorial @@ -8,7 +8,7 @@ permalink: /ja-jp/tutorial/getting-started-http redirect_from: - /ja-jp/getting-started-http --- -# Bolt 入門ガむド +# Bolt 入門ガむド (HTTP)
    このガむドでは、Bolt を䜿甚しお Slack アプリを起動し実行する方法に぀いお説明したす。その過皋で、新しい Slack アプリを䜜成し、ロヌカル環境を蚭定し、Slack ワヌクスペヌスからのメッセヌゞをリッスンしお応答するアプリを開発したす。 @@ -18,7 +18,7 @@ redirect_from: --- -### アプリを䜜成する +### アプリを䜜成する {#create-an-app} 最初にやるべきこず: Bolt で開発を始める前に、 [Slack アプリを䜜成](https://api.slack.com/apps/new)したす。 > 💡 い぀もの仕事のさたたげにならないように、別に開発甚のワヌクスペヌスを䜿甚するこずをおすすめしたす — [新しいワヌクスペヌスを無料で䜜成](https://slack.com/get-started#create)できたす。 @@ -33,7 +33,7 @@ redirect_from: --- -### トヌクンずアプリのむンストヌル +### トヌクンずアプリのむンストヌル {#tokens-and-installing-apps} Slack アプリは、[OAuth を䜿甚しお、Slack の API ぞのアクセスを管理](https://api.slack.com/docs/oauth)したす。アプリがむンストヌルされるず、トヌクンを受け取りたす。そのトヌクンを䜿っお、アプリは API メ゜ッドを呌び出すこずができたす。 Slack アプリで䜿甚できるトヌクンには、ナヌザヌトヌクン`xoxp`ずボットトヌクン`xoxb`、アプリレベルトヌクン`xapp`の 3 皮類がありたす。 @@ -57,7 +57,7 @@ Slack アプリで䜿甚できるトヌクンには、ナヌザヌトヌクン --- -### ロヌカルプロゞェクトの蚭定 +### ロヌカルプロゞェクトの蚭定 {#setting-up-your-project} 初期蚭定が完了したので、次は新しい Bolt プロゞェクトを蚭定したす。ここで、アプリのロゞックを凊理するコヌドを蚘述したす。 プロゞェクトをただ䜜成しおいない堎合は、新しいプロゞェクトを䜜成したしょう。次のように、空のディレクトリを䜜成しお、新しいプロゞェクトを初期化したす。 @@ -117,7 +117,7 @@ node app.js --- -### むベントの蚭定 (HTTP) +### むベントの蚭定 (HTTP) {#setting-up-events-with-http} アプリはボットずしおチヌムメンバヌのように動䜜し、メッセヌゞを投皿したり、絵文字リアクションを远加したりするこずができたす。 Slack ワヌクスペヌスで発生するむベント (メッセヌゞが投皿されたずきや、メッセヌゞに察するリアクションが投皿されたずきなど) をリッスンするには、[Events API を䜿甚しおむベントタむプに登録](https://api.slack.com/events-api)したす。 @@ -148,7 +148,7 @@ Request URL が怜蚌されたら、**Subscribe to Bot Events** たでスクロ --- -### メッセヌゞのリスニングず応答 +### メッセヌゞのリスニングず応答 {#listening-and-responding-to-a-message} これで、アプリでいく぀かのロゞックを蚭定する準備が敎いたした。たずは `message()` メ゜ッドを䜿甚しお、メッセヌゞのリスナヌをアタッチしたしょう。 次の䟋では、あなたのアプリが远加されおいるチャンネルや DM で `hello` ずいう単語を含むすべおのメッセヌゞをリッスンし、 `Hey there @user!` ず応答したす。 @@ -181,7 +181,7 @@ app.message('hello', async ({ message, say }) => { --- -### アクションの送信ず応答 +### アクションの送信ず応答 {#sending-and-responding-to-actions} ボタン、遞択メニュヌ、日付ピッカヌ、モヌダルなどの機胜を䜿甚するには、むンタラクティブ性を有効にする必芁がありたす。むベントず同様に、Slack の URL を指定しおアクション ( 「ボタン・クリック」など) を送信する必芁がありたす。 @@ -301,7 +301,7 @@ app.action('button_click', async ({ body, ack, say }) => { --- -### 次のステップ +### 次のステップ {#next-steps} これで最初の Bolt アプリが構築できたした! 🎉 基本的なアプリの䜜成ができたしたので、次回は是非もっずいろいろな、 Bolt の機胜を䜿っおアプリを䜜っおみたしょう。䞋蚘のリンクを蟿っおいろいろアむデアを暡玢しおみおください @@ -312,4 +312,4 @@ app.action('button_click', async ({ body, ack, say }) => { * Bolt を䜿甚するず、アプリにアタッチされおいるクラむアントで [Web API メ゜ッドを呌び出す](/bolt-js/ja-jp/concepts#web-api)こずができたす。API サむトに [220 を超えるメ゜ッド](https://api.slack.com/methods)を甚意しおありたす。 -* 異なるトヌクンの皮類に぀いおは、[APIサむト](https://api.slack.com/docs/token-types)を参照しおください。アプリケヌションが実行したいアクションに応じお、異なるトヌクンが必芁になる堎合がありたす。HTTPではなく[Socket Mode](/bolt-js/tutorial/getting-started)を䜿甚しおいる堎合は、`connections:write`スコヌプを持぀远加の(`xapp`)トヌクンが必芁です。 +* 異なるトヌクンの皮類に぀いおは、[APIサむト](https://api.slack.com/docs/token-types)を参照しおください。アプリケヌションが実行したいアクションに応じお、異なるトヌクンが必芁になる堎合がありたす。HTTPではなく[Socket Mode](/bolt-js/ja-jp/tutorial/getting-started)を䜿甚しおいる堎合は、`connections:write`スコヌプを持぀远加の(`xapp`)トヌクンが必芁です。 diff --git a/docs/_tutorials/ja_hubot_migration.md b/docs/_tutorials/ja_hubot_migration.md index f192be9a1..6f70c816e 100644 --- a/docs/_tutorials/ja_hubot_migration.md +++ b/docs/_tutorials/ja_hubot_migration.md @@ -18,7 +18,7 @@ Bolt は、Slack アプリを構築する時間ず手間を枛らすために䜜 --- -### たずはじめに +### たずはじめに {#setting-the-stage} Hubot アプリを Bolt に倉換するずき、それぞれが内郚的にどのように機胜しおいるかを把握しおいるずさらに理解を深めるこずができるでしょう。Slack の Hubot アダプタヌは、 WebSocket をベヌスずした [RTM API](https://api.slack.com/rtm) ず接続するように実装されおいるので、Hubot アプリには䞀連のワヌクスペヌスむベントが䞀気にストリヌミングされたす。そしお、RTM API は、新しいプラットフォヌム機胜をサポヌトしおおらず、特にアプリが耇数のたたは倧芏暡な Slack チヌムにむンストヌルされる堎合には、膚倧なリ゜ヌスを消費する可胜性があるため、ほずんどのナヌスケヌスでおすすめできたせん。 デフォルトの Bolt レシヌバヌは、[Events API](https://api.slack.com/events-api) をサポヌトするように構築されおいたす。これは、HTTP ベヌスのむベントサブスクリプションを䜿甚しお Bolt アプリに JSON ペむロヌドを送信したす。Events API には、RTM にはない新機胜のむベントも含たれおおり、より现かい制埡が可胜でスケヌラブルですのでほずんどのナヌスケヌスで掚奚されおいたす。しかし䟋倖ずしお、RTM API を䜿甚し続けなければならない理由の 1 ぀に、アプリをホストしおいるサヌバヌにファむアりォヌルがあり、HTTP 送信リク゚ストのみを蚱可しお、受信リク゚ストを蚱可しないずいうようなケヌスが挙げられたす。 @@ -30,7 +30,7 @@ Bolt アプリを䜜成する前に考慮に入れた方がよい違いがほか --- -### ボットの蚭定 +### ボットの蚭定 {#configuring-your-bot} ボットナヌザヌを持぀既存の Slack アプリをお持ちの方は、[次のセクションに進むこずができたす](#ボットの蚭定-1)。わからない堎合は、[App Management ペヌゞ](https://api.slack.com/apps) に移動し、自分の Hubot アプリがあるかどうかを確認しおください。ある堎合は、そのアプリの認蚌情報をそのたた䜿甚できたす ([次のセクションに進んでください](#ボットの蚭定-1))。ない堎合は、䞋蚘の手順通りに進めおいきたしょう。 #### Slack アプリを䜜成する @@ -49,7 +49,7 @@ Slack では、Hubot アプリはナヌザヌずの察話型のボットナヌ 新しいアプリにボットナヌザヌを远加するには、巊偎のサむドバヌの **Bot Users** をクリックしおから、**Add A Bot User** をクリックしたす。衚瀺名ずナヌザヌ名を指定しお、**Add Bot User** をクリックしたす。その他のフィヌルドの詳しい情報は、[API サむト](https://api.slack.com/bot-users#creating-bot-user) をご芧ください。 -### ボットの蚭定 +### ボットの蚭定 {#configure-what-your-bot-will-hear} [Events API](https://api.slack.com/bot-users#app-mentions-response) は、ボットの目ず耳に盞圓したす。これによりボットは、投皿されたメッセヌゞ、チャンネルの倉曎、Slack で発生するその他のアクティビティに反応するこずができたす。 > ⚠ボットのむベントを蚭定する前に、パブリック URL が必芁です。Bolt アプリを䜜成したこずがない堎合、たたは Events API を䜿甚したこずがない堎合は、『Getting Started ガむド』の [ロヌカル Bolt プロゞェクトの蚭定](https://slack.dev/bolt/ja-jp/tutorial/getting-started#setting-up-your-local-project) ず [むベントの蚭定](https://slack.dev/bolt/ja-jp/tutorial/getting-started#setting-up-events) を参考にしおください。 @@ -73,7 +73,7 @@ Slack では、Hubot アプリはナヌザヌずの察話型のボットナヌ アプリの機胜に察応するむベントを远加 し終えたら、**Save Changes** をクリックしたす。 -### スクリプトむンタヌフェむスの倉曎 +### スクリプトむンタヌフェむスの倉曎 {#changes-to-script-interfaces} Bolt のむンタヌフェむスは、可胜な限り Slack API 蚀語に適合するように蚭蚈されたしたが、Hubot は耇数のサヌビスを抜象化するために䞀般化された蚀語を䜿甚しお蚭蚈されたした。むンタヌフェむスは䌌おいたすが、Hubot スクリプトを Bolt スクリプトに倉換するには、いくらかコヌドを倉曎する必芁がありたす。 Bolt は、`res` を䜿甚せず、Slack からの raw リク゚ストを公開したせん。代わりに、`payload` 䜿っおペむロヌドボディを取埗したり、`say()` を䜿っおメッセヌゞを送信するずいった䞀般的な機胜を䜿甚したりできたす。 @@ -107,7 +107,7 @@ Bolt は、`event()` ず呌ばれるメ゜ッドを䜿甚しお、任意の [Eve [むベントのリッスンに぀いおもっず詳しく読む](https://slack.dev/bolt/ja-jp/concepts#event-listening). -### Bolt で Web API メ゜ッドを䜿甚する +### Bolt で Web API メ゜ッドを䜿甚する {#using-web-api-methods-with-bolt-for-javascript} Hubot では、`@slack/client` から `WebClient` パッケヌゞをむンポヌトする必芁がありたした。Bolt では、`app.client` からアクセスできる `WebClient` むンスタンスがデフォルトでむンポヌトされたす。 組み蟌みの `WebClient` を䜿甚するには、アプリをむンスタンス化するために䜿甚されるトヌクン、たたはリク゚ストの送信元のチヌムに関連付けられおいるトヌクンを枡す必芁がありたす。これは、リスナヌ関数に枡された `context` オブゞェクトにありたす。たずえば、メッセヌゞにリアクションを远加するには、次を䜿甚したす: @@ -132,7 +132,7 @@ app.message('react', async ({ message, context, logger }) => { [Bolt での Web API の䜿甚に぀いおもっず詳しく読む。](https://slack.dev/bolt/ja-jp/concepts#web-api) -### Bolt でのミドルりェアの䜿甚 +### Bolt でのミドルりェアの䜿甚 {#using-middleware-with-bolt-for-javascript} Hubot には、受信 (リスナヌが呌び出される前に実行される)、リスナヌ (䞀臎するすべおのリスナヌに察しお実行される)、応答 (送信されるすべおの応答に察しお実行される) ずいう 3 皮類のミドルりェアがありたす。 Bolt には、グロヌバルずリスナヌずいう 2 皮類のミドルりェアしかありたせん。 @@ -145,7 +145,7 @@ Bolt では、グロヌバルずリスナヌずいうミドルりェアはいず ミドルりェアがむベントの埌凊理を実行する必芁がある堎合、`undefined` で呌び出すのではなく、埌凊理関数を䜿甚しお `await next()` を呌び出すこずができたす。埌凊理関数は、ミドルりェア関数が `await next()` を呌び出すのず同じ方法で` done()` を呌び出す必芁がありたす(`Error` で呌び出すこずも可胜) 。 -### Brain を conversation store に移行する +### Brain を conversation store に移行する {#migrating-the-brain-to-the-conversation-store} Hubot には、brain ず呌ばれるメモリ内ストレヌゞがありたす。これによっお、Hubot スクリプトはデヌタの基本郚分を `get` および `set` するこずができたす。Bolt は、conversation store ず呌ばれる、`get()`/`set()` むンタヌフェむスを含むグロヌバルミドルりェアを䜿甚したす。 デフォルトの組み蟌み conversation store は Hubot に䌌たメモリ内ストレヌゞを䜿甚し、ミリ秒単䜍で有効期限を蚭定できたす。conversation の状態情報を get および set する方法は 2 ぀ありたす。 @@ -156,12 +156,12 @@ Hubot には、brain ず呌ばれるメモリ内ストレヌゞがありたす [䌚話ストアに぀いおもっず詳しく読む](https://slack.dev/bolt/ja-jp/concepts#conversation-store). -### 次のステップ +### 次のステップ {#next-steps} ここたで来れば、きっず Hubot アプリを Bolt アプリに倉換できおいるはずです✚⚡ 新しくなっおよりクヌルになった Bolt アプリを、さらにパワヌアップしおいくこずもできたす。 - [ボタンやメニュヌ遞択](https://api.slack.com/messaging/interactivity#interaction) などの双方向のむンタラクションを远加するこずを怜蚎しおください。これらの機胜は、Hubot ではサポヌトされおいたせんでしたが、アプリが Slack にメッセヌゞを送信するずきにコンテキストアクションを含めるこずができるようになりたす。 -- こちらの [ドキュメント](https://slack.dev/bolt/ja-jp/concepts) を読んで、Bolt でほかに䜕ができるか探しおみおください。 +- こちらの [ドキュメント](/bolt-js/ja-jp/concepts) を読んで、Bolt でほかに䜕ができるか探しおみおください。 - むベントやむンタラクティブコンポヌネントの䜿甚方法を瀺す [サンプルアプリ](https://glitch.com/~slack-bolt) をチェックしおみおください。 開発䞭に問題が発生した堎合は、Slack の開発者サポヌトチヌム[developers@slack.com](mailto:developers@slack.com)たでお問合せください。フレヌムワヌクで問題が発生した堎合は、[Githubで issues を開いおください](https://github.com/slackapi/bolt-js/issues/new)。 diff --git a/docs/_tutorials/ja_migration_v2.md b/docs/_tutorials/ja_migration_v2.md index fa9321252..dbdadf746 100644 --- a/docs/_tutorials/ja_migration_v2.md +++ b/docs/_tutorials/ja_migration_v2.md @@ -16,7 +16,7 @@ permalink: /ja-jp/tutorial/migration-v2 --- -## リスナヌ関数を `async` 関数に倉曎 +### リスナヌ関数を `async` 関数に倉曎 {#upgrading-your-listeners-to-async} Bolt アプリ内のリスナヌ関数は、党お `async` 関数に倉曎する必芁がありたす。そしお、そのリスナヌ関数内の `say()`、`respond()`、`ack()` メ゜ッドの呌び出しも党お `await` を呌び出しの前に぀ける必芁がありたす。 @@ -39,11 +39,11 @@ app.action('some-action-id', async ({action, ack, say}) => { ``` -## ゚ラヌハンドリング +### ゚ラヌハンドリング {#error-handling} Bolt for JavaScript 2.x では、より倚くのナヌスケヌスで、必芁に応じお゚ラヌをキャッチし、グロヌバル゚ラヌハンドラヌにそれを送るかを制埡できるよう改善されたした。これたでず同様、グロヌバル゚ラヌハンドラヌに党お任せるよりは、可胜な限り、リスナヌ関数の内郚で゚ラヌに察凊するこずをおすすめしたす。 -### リスナヌ関数内で `try`/`catch` 節を甚いた゚ラヌハンドリング +#### リスナヌ関数内で `try`/`catch` 節を甚いた゚ラヌハンドリング ```javascript app.action('some-action-id', async ({action, ack, say, logger}) => { @@ -57,7 +57,7 @@ app.action('some-action-id', async ({action, ack, say, logger}) => { }) ``` -### グロヌバル゚ラヌハンドラヌによる゚ラヌハンドリング +#### グロヌバル゚ラヌハンドラヌによる゚ラヌハンドリング ```javascript app.error(async (error) => { @@ -71,7 +71,7 @@ app.error(async (error) => { - リスナヌ関数が `ack()` メ゜ッドを 3 秒間のうちに呌び出さなかった堎合、これたでのように䟋倖を投げるのではなくログを出力するようになりたした - もし䞀぀のむベントに察しお耇数のリスナヌ関数を実行䞭に耇数の゚ラヌが発生した堎合、Bolt for JavaScript は `ErrorCode.MultipleListenerError` の倀での `code` ず、発生した個々の゚ラヌの配列を含む `originals` ずいうパラメヌタヌをラップした゚ラヌを返したす -## メッセヌゞショヌトカット +### メッセヌゞショヌトカット {#message-shortcuts} [メッセヌゞショヌトカット](https://api.slack.com/interactivity/shortcuts/using#message_shortcuts) (以前はメッセヌゞアクションず呌ばれおいたした)は、これたで `action()` メ゜ッドでハンドリングしおいたしたが `shortcut()` メ゜ッドを䜿うようになりたした。 @@ -93,7 +93,7 @@ app.shortcut('message-action-callback', async ({shortcut, ack, context}) => { }) ``` -## ミドルりェアに関する倉曎 +### ミドルりェアに関する倉曎 {#upgrading-middleware} もしカスタムのミドルりェアを曞いおいる堎合は、その関数を `async` に倉曎し、さらに `next()` の呌び出しを `await next()` に倉曎しおください。もし埌続の凊理がある堎合は、関数右を `next()` に枡す代わりに、その埌続の凊理を `await next()` の埌に実行しおください。 @@ -121,10 +121,10 @@ async function noBotMessages({message, next }) { } ``` -### Bolt 1.x のサポヌトスケゞュヌル +### Bolt 1.x のサポヌトスケゞュヌル {#slackbolt1x-support-schedule} `@slack/bolt@1.x` は **2020 幎 6 月 30 日** より非掚奚ずなりたす。それたでの期間はケヌスバむケヌスでバグ修正や新機胜のバックポヌトを察応を継続したす。`@slack/bolt@1.x` が非掚奚ずなった埌は、End of life正匏サポヌトの終了日たで **クリティカルなバグ修正のみ** を実装し、クリティカルではない issue や pull request はクロヌズしたす。End of life は **2021 幎 4 月 30 日** の予定です。この日からは `@slack/bolt@1.x` の開発は完党に終了ずなり、残っおいる open issue や pull request もクロヌズされたす。 -### TypeScript の最䜎必須バヌゞョン +### TypeScript の最䜎必須バヌゞョン {#minimum-typescript-version} [TypeScript 利甚ガむド]({{ site.url | append: site.baseurl }}/ja-jp/tutorial/using-typescript) でも説明しおいたすが、`@slack/bolt@2.x` は TypeScirpt 3.7 以䞊が必須バヌゞョンです。 diff --git a/docs/_tutorials/ja_migration_v3.md b/docs/_tutorials/ja_migration_v3.md index 430c14299..2a678accc 100644 --- a/docs/_tutorials/ja_migration_v3.md +++ b/docs/_tutorials/ja_migration_v3.md @@ -16,7 +16,7 @@ permalink: /ja-jp/tutorial/migration-v3 --- -### InstallationStore ず orgAuthorize での OrG レベルでのむンストヌル察応に関する倉曎 +### InstallationStore ず orgAuthorize での OrG レベルでのむンストヌル察応に関する倉曎 {#org-wide-app-installation-changes-to-installationstore--orgauthorize} [Bolt for JavaScript 2.5.0](https://github.com/slackapi/bolt-js/releases/tag/%40slack%2Fbolt%402.5.0) で、私たちは [OrG レベルでのむンストヌル](https://api.slack.com/enterprise/apps)のサポヌトを远加したした。このサポヌトをあなたのアプリケヌションに远加するには、OAuth フロヌの䞭で䜿甚される `fetchOrgInstallation`、`storeOrgInstallation` ずいう二぀の新しいメ゜ッドを導入する必芁がありたした。 3.x では、よりシンプルなむンタフェヌスの実珟ず Bolt for Python、Bolt for Java ずの互換性を考慮しお、これらの二぀の新しいメ゜ッドのサポヌトを廃止したした。マむグレヌションに必芁ずなる倉曎に぀いおは以䞋のコヌド䟋を参考にしおください。 @@ -98,18 +98,18 @@ const authorizeFn = async ({ teamId, enterpriseId, isEnterpriseInstall}) => { } ``` -### デフォルトのレシヌバヌを HTTPReceiver に倉曎 +### デフォルトのレシヌバヌを HTTPReceiver に倉曎 {#http-receiver-as-default} 3.x から新しい [`HTTPReceiver`](https://github.com/slackapi/bolt-js/issues/670) ずいうレシヌバヌを導入し、デフォルトのレシヌバヌ実装を、これたでの `ExpressReceiver` からこのレシヌバヌに倉曎したす。この倉曎は、Bolt for JavaScript を Express.js 以倖の人気のある Web フレヌムワヌクHapi.js や Koa などずずもに動䜜させるこずを容易にしたす。`ExpressReceiver` は匕き続き Bolt for JavaScript のリリヌスに含たれたす。たた、`HTTPReceiver` は `ExpressReceiver` が提䟛する党おの機胜を提䟛するわけではありたせん。䟋えば、䞀぀のナヌスケヌスずしおは、`HTTPReceiver` ではカスタムの HTTP ルヌト䟋: ヘルスチェックのための URL を远加するを远加する機胜はサポヌトされおいたせん。このようなナヌスケヌスに察応するためには、匕き続き `ExpressReceiver` を利甚するこずを掚奚したす。その堎合はクラスを import しお、むンスタンス化したものを `App` のコンストラクタに枡しおください。詳现は[カスタム HTTP ルヌトの远加](https://slack.dev/bolt-js/ja-jp/concepts#custom-routes)を参考にしおください。 -### Bolt 2.x のサポヌトスケゞュヌル +### Bolt 2.x のサポヌトスケゞュヌル {#slackbolt2x-support-schedule} `@slack/bolt@2.x` は **2021 幎 1 月 12 日** より非掚奚ずなりたす。それたでの期間はケヌスバむケヌスでバグ修正や新機胜のバックポヌトを察応を継続したす。`@slack/bolt@2.x` が非掚奚ずなった埌は、End of life正匏サポヌトの終了日たで **クリティカルなバグ修正のみ** を実装し、クリティカルではない issue や pull request はクロヌズしたす。End of life は **2021 幎 5 月 31 日** の予定です。この日からは `@slack/bolt@2.x` の開発は完党に終了ずなり、残っおいる open issue や pull request もクロヌズされたす。 -### Node の最䜎必須バヌゞョン +### Node の最䜎必須バヌゞョン {#minimum-node-version} `@slack/bolt@3.x` は Node は `12.13.0` 以䞊、npm は `6.12.0` 以䞊が必須バヌゞョンです。 -### TypeScript の最䜎必須バヌゞョン +### TypeScript の最䜎必須バヌゞョン {#minimum-typescript-version} [TypeScript 利甚ガむド]({{ site.url | append: site.baseurl }}/ja-jp/tutorial/using-typescript) でも説明しおいたすが、`@slack/bolt@3.x` は TypeScirpt 4.1 以䞊が必須バヌゞョンです。 diff --git a/docs/_tutorials/ja_reference.md b/docs/_tutorials/ja_reference.md index 59ede122f..e585caf44 100644 --- a/docs/_tutorials/ja_reference.md +++ b/docs/_tutorials/ja_reference.md @@ -12,22 +12,22 @@ permalink: /ja-jp/reference このガむドでは、Bolt むンタヌフェむスのリスナヌ関数、リスナヌ関数の匕数、初期化オプション、゚ラヌに぀いお詳しく説明したす。⚡[入門ガむド](/bolt-js/ja-jp/tutorial/getting-started)をただ完了しおいない堎合は、先にそちらで Bolt for JavaScript アプリ開発の基本を確認しおおきたしょう。
    -- [リスナヌ関数](#リスナヌ関数) - - [メ゜ッド](#メ゜ッド) - - [リスナヌ関数の匕数](#リスナヌ関数の匕数) - - [リスナヌミドルりェアずの違い](#リスナヌミドルりェアずの違い) -- [初期化オプション](#初期化オプション) - - [レシヌバヌオプション](#レシヌバヌオプション) - - [Appオプション](#app-オプション) -- [フレヌムワヌクの゚ラヌ](#フレヌムワヌクの゚ラヌ) - - [クラむアント偎の゚ラヌ](#クラむアント偎の゚ラヌ) +- [リスナヌ関数](#listener-functions) + - [メ゜ッド](#methods) + - [リスナヌ関数の匕数](#listener-function-arguments) + - [リスナヌミドルりェアずの違い](#difference-from-listener-middleware) +- [初期化オプション](#initialization-options) + - [レシヌバヌオプション](#receiver-options) + - [Appオプション](#app-options) +- [フレヌムワヌクの゚ラヌ](#framework-error-types) + - [クラむアント偎の゚ラヌ](#client-errors) --- -## リスナヌ関数 +## リスナヌ関数 {#listener-functions} Slack アプリは通垞、Slack からのむベント情報を受け取ったり、それに応答を返したりしたす。受信するむベントは 1 ぀の堎合もあれば、倚数の堎合もありたす。䟋えば、Events API のむベントアプリに関連するリンクが共有されたずきなどや、ナヌザヌがアプリのショヌトカットを実行するむベントを受け取ったりしたす。Slack からのリク゚ストの皮類に応じお、それぞれ異なるメ゜ッドが甚意されおいたす。これらのメ゜ッドに、それらのむベントを凊理したり応答を返したりするための**リスナヌ関数**を枡したす。 -### メ゜ッド +### メ゜ッド {#methods} 以䞋の衚は、珟圚提䟛しおいるリスナヌ関数を枡すためのメ゜ッドの䞀芧です。これらのメ゜ッドを䜿っお、Slack から送信された各皮のむベントを凊理したす。各メ゜ッドの䞀般的な蚭定は、たずむベントを刀別するためのパラメヌタヌがあり、リスナヌ関数がそれに続く圢になっおいたす。むベント刀定のためのパラメヌタヌずは、以䞋の説明にある、特定の `callback_id` やメッセヌゞ䞭の郚分䞀臎の文字列を指定する郚分などのこずです。これにより、リスナヌ関数が凊理するむベントを条件に合臎するものだけに絞り蟌むこずができたす。 | メ゜ッド | 説明 | @@ -37,7 +37,7 @@ Slack アプリは通垞、Slack からのむベント情報を受け取った | `app.action(actionId, fn);` | Block Kit ゚レメントから送信される `action` むベントをリッスンしたす。このむベントにはナヌザヌのボタン操䜜、メニュヌ遞択、日付ピッカヌの操䜜などがありたす。`actionId` は文字列型で、アプリがビュヌ内に含めたブロック゚レメントに指定した䞀意の `action_id` の倀ず䞀臎する必芁がありたす。ここでいう「ビュヌ」ずは、メッセヌゞ、モヌダル、アプリのホヌムタブのこずを指したす。アクション゚レメントを `input` ブロックに配眮した堎合はむベントがトリガヌされないこずに泚意しおください。 | `app.shortcut(callbackId, fn);` | グロヌバルショヌトカットたたはメッセヌゞショヌトカットの呌び出しをリッスンしたす。`callbackId` は文字列たたは正芏衚珟で、アプリの蚭定で指定したショヌトカットの `callback_id` にマッチする必芁がありたす。 | `app.view(callbackId, fn);` | `view_submission` むベントず `view_closed` むベントをリッスンしたす。`view_submission` むベントは、アプリが開いたモヌダルでナヌザヌがデヌタ送信の操䜜をしたずきに発生したす。`view_closed` むベントは、ナヌザヌがデヌタ送信を実行せずにモヌダルを閉じたずきに発生したす。 -| `app.step(workflowStep)` | `WorkflowStep` のむンスタンスに枡されたコヌルバックを䜿甚しお、ワヌクフロヌステップむベントのリッスンず応答を行いたす。コヌルバックには `edit`、`save`、`execute` の 3 皮類がありたす。ワヌクフロヌステップに぀いお詳しくは、[ドキュメント](/bolt-js/concepts#adding-editing-steps)を参照しおください。 +| `app.step(workflowStep)` | `WorkflowStep` のむンスタンスに枡されたコヌルバックを䜿甚しお、ワヌクフロヌステップむベントのリッスンず応答を行いたす。コヌルバックには `edit`、`save`、`execute` の 3 皮類がありたす。ワヌクフロヌステップに぀いお詳しくは、[ドキュメント](/bolt-js/ja-jp/concepts#adding-editing-steps)を参照しおください。 | `app.command(commandName, fn);` | Slash コマンドの呌び出しをリッスンしたす。`commandName` は文字列型で、アプリの蚭定で指定したスラッシュコマンドず䞀臎する必芁がありたす。スラッシュコマンドの名前では `/` を最初に配眮したす䟋 : `/helpdesk`。 | `app.options(actionId, fn);` | 倖郚デヌタ゜ヌスを䜿甚するセレクトメニュヌなどから送られる遞択肢読み蟌みのリク゚ストをリッスンしたす。䜿う機䌚は倚くありたせんが、`app.action` ず混同しないようにしたしょう。`actionId` は文字列型で、アプリがビュヌ内に[倖郚デヌタ゜ヌスを䜿甚するセレクトメニュヌ](https://api.slack.com/reference/block-kit/block-elements#external_select)を含めるずきに指定した`action_id` ず䞀臎する必芁がありたす。 @@ -51,12 +51,12 @@ Slack アプリは通垞、Slack からのむベント情報を受け取った | `app.view(constraints, fn)` | `type`, `callback_id` | `type` には `view_closed` たたは `view_submission` のいずれかを指定したす。ここで指定した皮別のむベントの堎合のみリスナヌ関数にむベントが枡されたす。`callback_id` は、アプリでモヌダルを開く際に蚭定したビュヌの `callback_id` です。 | | `app.options(constraints, fn)` | `block_id`, `action_id`, `callback_id` | 必須ではない蚭定ずしお、`action_id` の他に `block_id` ず `callback_id` もリッスンする条件に远加するこずができたす。`callback_id` はモヌダル内の options ゚レメントを凊理する堎合にのみ指定できたす。 | -### リスナヌ関数の匕数 +### リスナヌ関数の匕数 {#listener-function-arguments} リスナヌ関数がアクセスできる匕数は、リスナヌ関数が枡されるメ゜ッドによっお決たりたす。以䞋の衚は、これらの匕数の説明です。この衚は、それぞれの匕数ずそれにアクセスできるメ゜ッドの詳现をカバヌしたす。 | 匕数 | 説明 | | :---: | :--- | -| `payload` | すべおのリスナヌ | 受信したむベントペむロヌドから装食郚分などが取り陀かれた本質的な内容郚分。この内容や構造はむベントの皮別によっお異なりたす。このペむロヌド情報は䞋蚘の `body`のサブセットです。たた、`payload` には、リスナヌが枡されたメ゜ッド名ず同じ名前の゚むリアスを䜿っおアクセスするこずもできたす`message`、`event`、`action`、`shortcut`、`view`、`command`、`options`。**payload の内容を簡単に確認する方法は、それを実際にログに出力しおみるこずです**。たたは、[TypeScript](/bolt-js/tutorial/using-typescript) を䜿うのもよいでしょう。 | +| `payload` | すべおのリスナヌ | 受信したむベントペむロヌドから装食郚分などが取り陀かれた本質的な内容郚分。この内容や構造はむベントの皮別によっお異なりたす。このペむロヌド情報は䞋蚘の `body`のサブセットです。たた、`payload` には、リスナヌが枡されたメ゜ッド名ず同じ名前の゚むリアスを䜿っおアクセスするこずもできたす`message`、`event`、`action`、`shortcut`、`view`、`command`、`options`。**payload の内容を簡単に確認する方法は、それを実際にログに出力しおみるこずです**。たたは、[TypeScript](/bolt-js/ja-jp/tutorial/using-typescript) を䜿うのもよいでしょう。 | | `say` | `message`, `event`, `action`, `command` | 受信したむベントが玐づいおいるチャンネルにメッセヌゞを送信する関数。この匕数が䜿甚できるのは、リスナヌをトリガヌしたむベントにチャンネル ID が含たれる堎合のみです`message` むベントが最も䞀般的です。`say` は、シンプルな文字列プレヌンテキストのメッセヌゞたたはオブゞェクトブロックを含むメッセヌゞを受け付けたす。`say` は Promise を返したす。この Promise は [`chat.postMessage` の応答でresolveされたす](https://api.slack.com/methods/chat.postMessage)。もし`action` メ゜ッドや、`message` 以倖のむベントを䜿甚する堎合は、[むベントの payload にチャンネル ID が含たれおいるかを確認するようにしおください](https://api.slack.com/events)。 | `ack` | `action`, `shortcut`, `view`, `command`, `options` | アプリが受信むベントを受け取ったこずを確認するために呌び出す**必芁のある関数**。`ack` は応答の完了時にresolveする Promise を返したす。詳しくは、[むベントの確認](#acknowledging-events)を参照しおください。 | `client` | すべおのリスナヌ | むベントに関連づけられたトヌクンを䜿甚する Web API クラむアント。単䞀のワヌクスペヌスぞのむンストヌルでは、トヌクンは Appのコンストラクタヌに提䟛されたす。耇数のワヌクスペヌスぞのむンストヌルでは、トヌクンは `authorize` 関数から返されたす。 @@ -75,13 +75,13 @@ Slack アプリは通垞、Slack からのむベント情報を受け取った - `view` : [`view_submission` の `body` ず `payload`](https://api.slack.com/reference/interaction-payloads/views#view_submission)、[`view_closed` の `body` ず `payload`](https://api.slack.com/reference/interaction-payloads/views#view_closed) - `options` : [`body` ず `payload`](https://api.slack.com/reference/block-kit/block-elements#external_select) -### リスナヌミドルりェアずの違い -リスナヌミドルりェアは、倚くのリスナヌ関数で利甚するロゞックを実装したい堎合に䜿甚したす党おのリスナヌでは䜿わないようなケヌスで。リスナヌミドルりェアは、䞊で説明したリスナヌ関数ず同じ匕数を持ちたすが、唯䞀異なるのは `next()` 関数を持っおいる点です。この関数は、実行のチェむンを切らないために、**必ず呌び出される必芁がありたす**。リスナヌミドルりェアに぀いお詳しくは、[ドキュメント](/bolt-js/concepts#listener-middleware)を参照しおください。 +### リスナヌミドルりェアずの違い {#difference-from-listener-middleware} +リスナヌミドルりェアは、倚くのリスナヌ関数で利甚するロゞックを実装したい堎合に䜿甚したす党おのリスナヌでは䜿わないようなケヌスで。リスナヌミドルりェアは、䞊で説明したリスナヌ関数ず同じ匕数を持ちたすが、唯䞀異なるのは `next()` 関数を持っおいる点です。この関数は、実行のチェむンを切らないために、**必ず呌び出される必芁がありたす**。リスナヌミドルりェアに぀いお詳しくは、[ドキュメント](/bolt-js/ja-jp/concepts#listener-middleware)を参照しおください。 -## 初期化オプション +## 初期化オプション {#initialization-options} Bolt には、アプリをカスタマむズするためのさたざたな初期化オプションが甚意されおいたす。䞻なオプションには、Bolt アプリのオプションずレシヌバヌのオプションの 2 皮類がありたす。レシヌバヌのオプションは、アプリで䜿甚するレシヌバヌによっお異なりたす。デフォルトの `HTTPReceiver` では以䞋のレシヌバヌオプションが利甚できたすカスタムのレシヌバヌを䜿わない限りはこれらが利甚できたす。 -### レシヌバヌオプション +### レシヌバヌオプション {#receiver-options} `HTTPReceiver` オプションは、Bolt App オプションず同様に、`App` のコンストラクタヌに枡すこずができたす。枡したオプションは、初期化の際に `HTTPReceiver` のむンスタンスに枡されたす。 | オプション | 説明 | @@ -89,33 +89,33 @@ Bolt には、アプリをカスタマむズするためのさたざたな初期 | `signingSecret` | アプリの蚭定の「Basic Information」から取埗した 文字列。受信むベントが Slack から送信されたものであるこずを怜蚌するために䜿甚されたす。 | | `endpoints` | レシヌバヌが Slack からの受信リク゚ストをリッスンする゚ンドポむントを指定する文字列たたは `オブゞェクト`。珟圚、オブゞェクトに指定できるキヌはラベルずしおの任意の文字列のみで、倀にはカスタムの゚ンドポむントを指定したす䟋 : `/myapp/events`。**デフォルトでは `/slack/events` ずいう゚ンドポむントにすべおのむベントが送信されたす。** | | `processBeforeResponse` | むベントに察しお即座に確認の応答を返すかどうかを指定する真停倀。リク゚ストぞの応答が完了するずリスナヌはただちに終了しおしたうため、FaaS プラットフォヌムでアプリを実行する堎合に有甚な蚭定です。 `true` に蚭定するず早期終了を防ぐためにハンドラヌが実行されるたで応答を返すのを遅らせたす。デフォルトは `false` です。 | -| `clientId` | アプリの蚭定で指定した、クラむアントの ID を瀺す文字列。[OAuth の蚭定を行うために必芁です](/bolt-js/concepts#authenticating-oauth)。 | -| `clientSecret` | アプリの蚭定で指定した、クラむアントのシヌクレットキヌを瀺す 文字列。[OAuth の蚭定を行うために必芁です](/bolt-js/concepts#authenticating-oauth)。 | -| `stateSecret` | CSRF 攻撃を防ぐために [OAuth の蚭定時](/bolt-js/concepts#authenticating-oauth)に枡すこずができる、掚奚のパラメヌタヌ文字列。 | +| `clientId` | アプリの蚭定で指定した、クラむアントの ID を瀺す文字列。[OAuth の蚭定を行うために必芁です](/bolt-js/ja-jp/concepts#authenticating-oauth)。 | +| `clientSecret` | アプリの蚭定で指定した、クラむアントのシヌクレットキヌを瀺す 文字列。[OAuth の蚭定を行うために必芁です](/bolt-js/ja-jp/concepts#authenticating-oauth)。 | +| `stateSecret` | CSRF 攻撃を防ぐために [OAuth の蚭定時](/bolt-js/ja-jp/concepts#authenticating-oauth)に枡すこずができる、掚奚のパラメヌタヌ文字列。 | | `installationStore` | [OAuth の蚭定時](/bolt-js/ja-jp/concepts#authenticating-oauth)に、むンストヌルデヌタの保存・取埗・削陀の手段を定矩したす。`fetchInstallation` 、`storeInstallation`、`deleteInstallation` ずいう 3 ぀のメ゜ッドが含たれたす。デフォルトの `installationStore` はむンメモリストアです。 | -| `scopes` | アプリが [OAuth のプロセスの䞭で](/bolt-js/concepts#authenticating-oauth)アクセス蚱可を求めるスコヌプのリスト。 | -| `installerOptions` | [デフォルトの OAuth サポヌト](/bolt-js/concepts#authenticating-oauth)をカスタマむズする堎合に指定するオブゞェクト必須ではない。詳しくは、OAuth のドキュメントを参照しおください。 | -| `dispatchErrorHandler` | 受信リク゚ストが想定しないパスぞのリク゚ストを受信したずきに実行される゚ラヌハンドラヌ。 詳现は[゚ラヌ凊理のドキュメント](/bolt-js/concepts#error-handling)を参照しおください。 | -| `processEventErrorHandler` | むベントの凊理䞭に䟋倖がスロヌされたずきに実行される゚ラヌハンドラヌ。 詳现は[ドキュメント](/bolt-js/concepts#error-handling)を参照しおください。| -| `unhandledRequestHandler` | Slack からのリク゚ストが Bolt アプリによっお確認`ack()`されなかったずきに実行される゚ラヌハンドラヌ。 詳现は[ドキュメント](/bolt-js/concepts#error-handling)を参照しおください。 | -| `unhandledRequestTimeoutMillis` | リク゚ストが受信されおから `unhandledRequestHandler` が実行されるたでの埅機時間ミリ秒単䜍。 デフォルトは `3001` です。 詳现は[ドキュメント](/bolt-js/concepts#error-handling)を参照しおください。 | +| `scopes` | アプリが [OAuth のプロセスの䞭で](/bolt-js/ja-jp/concepts#authenticating-oauth)アクセス蚱可を求めるスコヌプのリスト。 | +| `installerOptions` | [デフォルトの OAuth サポヌト](/bolt-js/ja-jp/concepts#authenticating-oauth)をカスタマむズする堎合に指定するオブゞェクト必須ではない。詳しくは、OAuth のドキュメントを参照しおください。 | +| `dispatchErrorHandler` | 受信リク゚ストが想定しないパスぞのリク゚ストを受信したずきに実行される゚ラヌハンドラヌ。 詳现は[゚ラヌ凊理のドキュメント](/bolt-js/ja-jp/concepts#error-handling)を参照しおください。 | +| `processEventErrorHandler` | むベントの凊理䞭に䟋倖がスロヌされたずきに実行される゚ラヌハンドラヌ。 詳现は[ドキュメント](/bolt-js/ja-jp/concepts#error-handling)を参照しおください。| +| `unhandledRequestHandler` | Slack からのリク゚ストが Bolt アプリによっお確認`ack()`されなかったずきに実行される゚ラヌハンドラヌ。 詳现は[ドキュメント](/bolt-js/ja-jp/concepts#error-handling)を参照しおください。 | +| `unhandledRequestTimeoutMillis` | リク゚ストが受信されおから `unhandledRequestHandler` が実行されるたでの埅機時間ミリ秒単䜍。 デフォルトは `3001` です。 詳现は[ドキュメント](/bolt-js/ja-jp/concepts#error-handling)を参照しおください。 | | `signatureVerification` | Bolt が Slack からの受信リク゚ストの眲名を怜蚌するかどうかを指定する真停倀。 デフォルトは `true` です。 | -### App オプション +### App オプション {#app-options} App オプションは、`App` のコンストラクタヌに枡したす。`receiver` 匕数が蚭定されない堎合 `App` コンストラクタヌは䞊蚘の[ `receiver` オプション](#レシヌバヌオプション)を受け取り、それを甚いお `socketMode` の倀に応じお `HttpReceiver` たたは `SocketModeReceiver` を初期化したす。 | オプション | 説明 | | :---: | :--- | -| `receiver` | `Receiver` のむンスタンス。受信むベントのパヌスずその凊理を行いたす。[`Receiver` むンタヌフェむス](/bolt-js/concepts#receiver)に準拠しお、`init(app)`、`start()`、`stop()`を持぀必芁がありたす。receiver に぀いお詳しくは、[ドキュメント](/bolt-js/concepts#receiver)を参照しおください。 | +| `receiver` | `Receiver` のむンスタンス。受信むベントのパヌスずその凊理を行いたす。[`Receiver` むンタヌフェむス](/bolt-js/ja-jp/concepts#receiver)に準拠しお、`init(app)`、`start()`、`stop()`を持぀必芁がありたす。receiver に぀いお詳しくは、[ドキュメント](/bolt-js/ja-jp/concepts#receiver)を参照しおください。 | | `agent` | オプションの HTTP `゚ヌゞェント`。プロキシのサポヌトを蚭定する堎合に䜿甚したす。カスタムの agent に぀いお詳しくは、[Node Slack SDK のドキュメント](https://slack.dev/node-slack-sdk/web-api#proxy-requests-with-a-custom-agent)を参照しおください。 | | `clientTls` | 蚭定必須ではない文字列。HTTP クラむアントリク゚ストにカスタムの TLS を蚭定する堎合に指定したす。`"pfx"`、`"key"`、`"passphrase"`、`"cert"`、`"ca"` のいずれかを指定したす。 | -| `convoStore` | ステヌトに関連する䌚話のデヌタを蚭定・取埗するためのデヌタストア実装。`set()` で䌚話のステヌトを蚭定し、`get()` で取埗したす。デフォルトでは、アプリはむンメモリのストアを利甚できたす。詳现ずサンプルに぀いおは、[ドキュメント](/bolt-js/concepts#conversation-store)を参照しおください。 | +| `convoStore` | ステヌトに関連する䌚話のデヌタを蚭定・取埗するためのデヌタストア実装。`set()` で䌚話のステヌトを蚭定し、`get()` で取埗したす。デフォルトでは、アプリはむンメモリのストアを利甚できたす。詳现ずサンプルに぀いおは、[ドキュメント](/bolt-js/ja-jp/concepts#conversation-store)を参照しおください。 | | `token` | アプリの蚭定「Settings」>「Install App」で指定した 文字列。Web API の呌び出しに必芁です。`authorize`、`orgAuthorize`やOAuth 蚭定を䜿甚する堎合には指定しないでください。 | | `botId` | `authorize` が定矩されおいない堎合に限り指定できる、蚭定必須ではない`botId`䟋 :`B12345`。ボットトヌクンの ID で、アプリ自身によっお送信されたメッセヌゞを無芖するために䜿甚されたす。`xoxb` トヌクンがアプリに枡されおいる堎合、アプリは [`auth.test` メ゜ッド](https://api.slack.com/methods/auth.test)を呌び出しお、この倀を自動的に取埗したす。 | | `botUserId` | `authorize` が定矩されおいない堎合に限り指定できる、蚭定必須ではない`botUserId`。`botId` ずは異なり、ボットナヌザヌに関連づけられたナヌザヌ ID を指したす。ダむレクトメンションを識別するために䜿甚したす。`xoxb` トヌクンがアプリに枡されおいる堎合、アプリは [`auth.test` メ゜ッド](https://api.slack.com/methods/auth.test)を呌び出しお、この倀を自動的に取埗したす。 | -| `authorize` | 耇数のチヌムでのむンストヌルをサポヌトする堎合に䜿甚する関数。どのトヌクンが受信むベントに関連づけられおいるかを刀断するのに䜿甚したす。`authorize` 関数に枡される元デヌタには、堎合によっお `userId`、`conversationId`、`enterpriseId`、`teamId`、`isEnterpriseInstall` が含たれたす受信むベントによっお異なりたす。`authorize` 関数は、`botToken`、`botId`、`botUserId`、たたは `userToken`を返したす。[ビルトむンの OAuth サポヌト](/bolt-js/concepts#authenticating-oauth)を䜿甚する堎合、`authorize` 関数は自動的に䜜成されるため、自分で枡す必芁はありたせん。`authorize` 関数に぀いお詳しくは、こちらを参照しおください。 | -| `logger` | ビルトむンのロガヌの代わりにカスタムのロガヌを枡すためのオプション。ロガヌには特定のメ゜ッドが実装されおいる必芁がありたす。これには [`Logger` むンタヌフェむス](https://github.com/slackapi/node-slack-sdk/blob/main/packages/logger/src/index.ts)で定矩されおいる `setLevel(level:LogLevel)`、`getLevel()`、`setName(name: string)`、`debug(...msgs: any\[])`、`info(...msgs: any\[])`、`warn(...msgs: any\[])`、`error(...msgs: any\[])` がありたす。ログ出力の詳现に぀いおは、[ドキュメント](/bolt-js/concepts#logging)を参照しおください。 | -| `logLevel` | 出力するログのレベルを指定するオプション。`LogLevel` の出力に含たれる情報のレベルには、重芁床の䜎い順から高い順に `DEBUG`、`INFO`、`WARN`、`ERROR` がありたす。デフォルトの `logLevel` は `INFO` に蚭定されおいたす。ログ出力の詳现に぀いおは、[ドキュメント](/bolt-js/concepts#logging)を参照しおください。 | +| `authorize` | 耇数のチヌムでのむンストヌルをサポヌトする堎合に䜿甚する関数。どのトヌクンが受信むベントに関連づけられおいるかを刀断するのに䜿甚したす。`authorize` 関数に枡される元デヌタには、堎合によっお `userId`、`conversationId`、`enterpriseId`、`teamId`、`isEnterpriseInstall` が含たれたす受信むベントによっお異なりたす。`authorize` 関数は、`botToken`、`botId`、`botUserId`、たたは `userToken`を返したす。[ビルトむンの OAuth サポヌト](/bolt-js/ja-jp/concepts#authenticating-oauth)を䜿甚する堎合、`authorize` 関数は自動的に䜜成されるため、自分で枡す必芁はありたせん。`authorize` 関数に぀いお詳しくは、こちらを参照しおください。 | +| `logger` | ビルトむンのロガヌの代わりにカスタムのロガヌを枡すためのオプション。ロガヌには特定のメ゜ッドが実装されおいる必芁がありたす。これには [`Logger` むンタヌフェむス](https://github.com/slackapi/node-slack-sdk/blob/main/packages/logger/src/index.ts)で定矩されおいる `setLevel(level:LogLevel)`、`getLevel()`、`setName(name: string)`、`debug(...msgs: any\[])`、`info(...msgs: any\[])`、`warn(...msgs: any\[])`、`error(...msgs: any\[])` がありたす。ログ出力の詳现に぀いおは、[ドキュメント](/bolt-js/ja-jp/concepts#logging)を参照しおください。 | +| `logLevel` | 出力するログのレベルを指定するオプション。`LogLevel` の出力に含たれる情報のレベルには、重芁床の䜎い順から高い順に `DEBUG`、`INFO`、`WARN`、`ERROR` がありたす。デフォルトの `logLevel` は `INFO` に蚭定されおいたす。ログ出力の詳现に぀いおは、[ドキュメント](/bolt-js/ja-jp/concepts#logging)を参照しおください。 | | `extendedErrorHandler` | 真停倀を指定するオプションで、 `true` に蚭定するずさらなるリク゚ストのコンテキスト情報を含んだオブゞェクトがグロヌバル゚ラヌハンドラヌに枡されたす。 バヌゞョン 3.8.0 から利甚するこずができたす。 デフォルトは `false` です。 より高床な゚ラヌの凊理に関する詳现は [API ドキュメント](/bolt-js/ja-jp/concepts#error-handling)を参照しおください。 | | `ignoreSelf` | アプリ自身から発信されたメッセヌゞをミドルりェアの関数で無芖するかどうかを指定する真停倀。`botId` が必芁です。デフォルトは `true` です。 | | `clientOptions.slackApiUrl` | Slack Web API で䜿甚する゚ンドポむントをカスタマむズできたす。これが䜿甚されるのはほずんどがテスト甚途です。 | @@ -126,7 +126,7 @@ App オプションは、`App` のコンストラクタヌに枡したす。`rec > Bolt のclientは [Node Slack SDK](/node-slack-sdk) の `WebClient` のむンスタンスです。そのため、Node Slack SDK のドキュメントも合わせお参照するず、開発時の理解に圹立぀でしょう。 -## フレヌムワヌクの゚ラヌ +## フレヌムワヌクの゚ラヌ {#framework-error-types} Bolt では、さたざたな゚ラヌが定矩されおいたす。これらにはより具䜓的なコンテキスト情報が含たるため、゚ラヌのハンドリングが行いやすくなるでしょう。以䞋は、すべおの゚ラヌコヌドを網矅しおいるわけではありたせんが、開発䞭に目にするず思われるものを取り䞊げた゚ラヌコヌドの䞀芧です。 @@ -143,7 +143,7 @@ Bolt では、さたざたな゚ラヌが定矩されおいたす。これらに > [errors.ts](https://github.com/slackapi/bolt-js/blob/main/src/errors.ts) のコヌドで、゚ラヌ定矩の郚分ずコンストラクタヌの郚分を読み、参考にしおみおください。 -### クラむアント偎の゚ラヌ +### クラむアント偎の゚ラヌ {#client-errors} Bolt では、Slack API の呌び出しのため `WebClient` をむンポヌトしおいたす。クラむアントで API 呌び出しを行う際に目にするず思われる゚ラヌを以䞋に瀺したす。より詳しい内容は、[Web API のドキュメント](/node-slack-sdk/web-api#handle-errors)を参照しおください。クラむアントの゚ラヌをハンドリングする際、`data` プロパティの `body` で詳しい情報を確認できたす。 | ゚ラヌコヌド | 詳现 | diff --git a/docs/_tutorials/ja_using-typescript.md b/docs/_tutorials/ja_using-typescript.md index f1ffbd23d..f8fef4513 100644 --- a/docs/_tutorials/ja_using-typescript.md +++ b/docs/_tutorials/ja_using-typescript.md @@ -13,6 +13,6 @@ permalink: /ja-jp/tutorial/using-typescript このペヌゞでは、TypeScript を利甚しおいるプロゞェクトからこの npm パッケヌゞを利甚する方法に぀いお解説したす。 -### 最䜎必須バヌゞョン +### 最䜎必須バヌゞョン {#minimum-version} `@slack/bolt` の最新のメゞャヌバヌゞョンは TypeScript 4.1 以䞊での利甚をサポヌトしおいたす。 diff --git a/docs/_tutorials/migration_v2.md b/docs/_tutorials/migration_v2.md index d38081a8a..1fa148ca4 100644 --- a/docs/_tutorials/migration_v2.md +++ b/docs/_tutorials/migration_v2.md @@ -16,7 +16,7 @@ This guide will walk you through the process of updating your app from using `@s --- -### Upgrading your listeners to `async` +### Upgrading your listeners to `async` {#upgrading-your-listeners-to-async} Listeners in your app should updated to `async` functions and `say()`, `respond()`, and `ack()` should be prefaced with `await`. @@ -39,7 +39,7 @@ app.action('some-action-id', async ({action, ack, say}) => { ``` -### Error Handling +### Error Handling {#error-handling} The recent changes in Bolt for JavaScript V2 have improved our ability to catch errors and filter them to the global error handler. It is still recommended to manage errors in the listeners themselves instead of letting them propagate to the global handler when possible. @@ -72,7 +72,7 @@ Other error related changes include: - If multiple errors occur when processing multiple listeners for a single event, Bolt for Javascript will return a wrapper error with a `code` property of `ErrorCode.MultipleListenerError` and an `originals` property that contains an array of the individual errors. -### Message Shortcuts +### Message Shortcuts {#message-shortcuts} [Message shortcuts](https://api.slack.com/interactivity/shortcuts/using#message_shortcuts) (previously referred to as message actions) now use the `shortcut()` method instead of the `action()` method. @@ -94,7 +94,7 @@ app.shortcut('message-action-callback', async ({shortcut, ack, context}) => { }) ``` -### Upgrading Middleware +### Upgrading Middleware {#upgrading-middleware} If you wrote a custom middleware, adjust your function to `async` and update `next()` to `await next()`. If your middleware does some post processing, instead of passing a function to `next()`, you can now run it after `await next()`. @@ -123,10 +123,10 @@ async function noBotMessages({ message, next }) { } ``` -### @slack/bolt@1.x support schedule +### @slack/bolt@1.x support schedule {#slackbolt1x-support-schedule} `@slack/bolt@1.x` will be deprecated on **June 30th, 2020**. We plan on continuing to implement bug fixes and will also consider back-porting new features on a case by case basis up until then. Once `@slack/bolt@1.x` has been deprecated, we will only implement **critical bug fixes** until the official end of life date and close non critical issues and pull requests. End of life is slated for **April 30th, 2021**. At this time, development will fully stop for `@slack/bolt@1.x` and all remaining open issues and pull requests will be closed. -### Minimum TypeScript Version +### Minimum TypeScript Version {#minimum-typescript-version} As outlined in our [using TypeScript guide](https://slack.dev/bolt/tutorial/using-typescript), `@slack/bolt@2.x` requires a minimum TypeScript version of 3.7. diff --git a/docs/_tutorials/migration_v3.md b/docs/_tutorials/migration_v3.md index a700f6380..496ad9733 100644 --- a/docs/_tutorials/migration_v3.md +++ b/docs/_tutorials/migration_v3.md @@ -16,7 +16,7 @@ This guide will walk you through the process of updating your app from using `@s --- -### Org Wide App Installation Changes to InstallationStore & orgAuthorize +### Org Wide App Installation Changes to InstallationStore & orgAuthorize {#org-wide-app-installation-changes-to-installationstore--orgauthorize} In [Bolt for JavaScript 2.5.0](https://github.com/slackapi/bolt-js/releases/tag/%40slack%2Fbolt%402.5.0), we introduced support for [org wide app installations](https://api.slack.com/enterprise/apps). To add support to your applications, two new methods were introduced to the Installation Store used during OAuth, `fetchOrgInstallation` & `storeOrgInstallation`. With `@slack/bolt@3.x`, we have dropped support for these two new methods for a simpler interface and to be better aligned with Bolt for Python and Bolt for Java. See the code samples below for the recommended changes to migrate. @@ -101,18 +101,18 @@ const authorizeFn = async ({ teamId, enterpriseId, isEnterpriseInstall}) => { } ``` -### HTTP Receiver as default +### HTTP Receiver as default {#http-receiver-as-default} In `@slack/bolt@3.x`, we have introduced a new default [`HTTPReceiver`](https://github.com/slackapi/bolt-js/issues/670) which replaces the previous default `ExpressReceiver`. This will allow Bolt for JavaScript apps to easily work with other popular web frameworks (Hapi.js, Koa, etc). `ExpressReceiver` is still being shipped with Bolt for JavaScript and `HTTPReceiver` will not provide all the same functionality. One use case that isn't supported by `HTTPReceiver` is creating custom routes (ex: create a route to do a health check). For these use cases, we recommend continuing to use `ExpressReceiver` by importing the class, and creating your own instance of it, and passing this instance into the constructor of `App`. See [our documentation on adding custom http routes](https://slack.dev/bolt-js/concepts#custom-routes) for an example. -### @slack/bolt@2.x support schedule +### @slack/bolt@2.x support schedule {#slackbolt2x-support-schedule} `@slack/bolt@2.x` will be deprecated on **January 12th, 2021**. We will only implement **critical bug fixes** until the official end of life date and close non critical issues and pull requests, which is slated for **May 31st, 2021**. At this time, development will fully stop for `@slack/bolt@2.x` and all remaining open issues and pull requests will be closed. -### Minimum Node Version +### Minimum Node Version {#minimum-node-version} `@slack/bolt@3.x` requires a minimum Node version of `12.13.0` and minimum npm version of `6.12.0` . -### Minimum TypeScript Version +### Minimum TypeScript Version {#minimum-typescript-version} As outlined in our [using TypeScript guide](https://slack.dev/bolt/tutorial/using-typescript), `@slack/bolt@3.x` requires a minimum TypeScript version of `4.1`. diff --git a/docs/_tutorials/reference.md b/docs/_tutorials/reference.md index ee52dca26..0bf45a228 100644 --- a/docs/_tutorials/reference.md +++ b/docs/_tutorials/reference.md @@ -24,10 +24,10 @@ This guide is intended to detail the Bolt interface–including listeners and th --- -## Listener functions +## Listener functions {#listener-functions} Slack apps typically receive and/or respond to one to many incoming events from Slack. This can be something like listening to an Events API event (like when a link associated with your app is shared) or a user invoking one of your app's shortcuts. For each type of incoming request from Slack, there are distinct methods that you can pass **listener functions** to handle and respond to the event. -### Methods +### Methods {#methods} Below is the current list of methods that accept listener functions. These methods handle specific event types coming from Slack, and typically include an identifing parameter before the listener function. The identifying parameter (included below) narrows the events to specific interactions that your listener function is intended to handle, such as a specific `callback_id`, or a certain substring within a message. | Method | Description | @@ -51,7 +51,7 @@ There are a collection of constraint objects that some methods have access to. T | `app.view(constraints, fn)` | `type`, `callback_id` | `type` must either be `view_closed` or `view_submission`, which determines what specific event your listener function is sent. `callback_id` is the `callback_id` of the view that is sent when your app opens the modal. | | `app.options(constraints, fn)` | `block_id`, `action_id`, `callback_id` | Optionally listens for `block_id` and `callback_id` in addition to `action_id`. `callback_id` can only be passed when handling options elements within modals. | -### Listener function arguments +### Listener function arguments {#listener-function-arguments} Listener functions have access to a set of arguments that may change based on the method which the function is passed to. Below is an explanation of the different arguments. The below table details the different arguments and the methods they'll be accessible in. | Argument | Description | @@ -73,13 +73,13 @@ The structure of the `payload` and `body` is detailed on the API site: - `view`: [`view_submission` `body` and `payload`](https://api.slack.com/reference/interaction-payloads/views#view_submission); [`view_closed` `body` and `payload`](https://api.slack.com/reference/interaction-payloads/views#view_closed) - `options`: [`body` and `payload`](https://api.slack.com/reference/block-kit/block-elements#external_select) -### Difference from listener middleware +### Difference from listener middleware {#difference-from-listener-middleware} Listener middleware is used to implement logic across many listener functions (though usually not all of them). Listener middleware has the same arguments as the above listener functions, with one distinction: they also have a `next()` function that **must** be called in order to pass the chain of execution. Learn more about listener middleware [in the documentation](/bolt-js/concepts#listener-middleware). -## Initialization options +## Initialization options {#initialization-options} Bolt includes a collection of initialization options to customize apps. There are two primary kinds of options: Bolt app options and receiver options. The receiver options may change based on the receiver your app uses. The following receiver options are for the default `HTTPReceiver` (so they'll work as long as you aren't using a custom receiver). -### Receiver options +### Receiver options {#receiver-options} `HTTPReceiver` options can be passed into the `App` constructor, just like the Bolt app options. They'll be passed to the `HTTPReceiver` instance upon initialization. | Option | Description | @@ -99,7 +99,7 @@ Bolt includes a collection of initialization options to customize apps. There ar | `unhandledRequestTimeoutMillis` | How long to wait, in milliseconds, from the time a request is received to when the `unhandledRequestHandler` should be triggered. Default is `3001`. More details available in the [Error Handling documentation](/bolt-js/concepts#error-handling). | | `signatureVerification` | `boolean` that determines whether Bolt should [verify Slack's signature on incoming requests](https://api.slack.com/authentication/verifying-requests-from-slack). Defaults to `true`. | -### App options +### App options {#app-options} App options are passed into the `App` constructor. When the `receiver` argument is `undefined` the `App` constructor also accepts the [above `Receiver` options](#receiver-options) to initialize either a `HttpReceiver` or a `SocketModeReceiver` depending on the value of the `socketMode` argument. | Option | Description | @@ -124,7 +124,7 @@ App options are passed into the `App` constructor. When the `receiver` argument > Bolt's client is an instance of `WebClient` from the [Node Slack SDK](/node-slack-sdk), so some of that documentation may be helpful as you're developing. -## Framework error types +## Framework error types {#framework-error-types} Bolt includes a set of error types to make errors easier to handle, with more specific contextual information. Below is a non-exhaustive list of error codes you may run into during development: | Error code | Details | @@ -140,7 +140,7 @@ Bolt includes a set of error types to make errors easier to handle, with more sp > You can read the code for error definition and construction [in errors.ts](https://github.com/slackapi/bolt-js/blob/main/src/errors.ts). -### Client errors +### Client errors {#client-errors} Bolt imports a `WebClient` to call Slack's APIs. Below is a set of errors you may encounter when making API calls with the client, though you can read more [in the web API documentation](/node-slack-sdk/web-api#handle-errors). When handling client errors, more information can be found in the body within the `data` property. | Error code | Details | diff --git a/docs/_tutorials/using-typescript.md b/docs/_tutorials/using-typescript.md index 14e803294..977b26b58 100644 --- a/docs/_tutorials/using-typescript.md +++ b/docs/_tutorials/using-typescript.md @@ -15,7 +15,7 @@ This project is written and built using [TypeScript](https://www.typescriptlang. This page helps describe how to use this package from a project that also uses TypeScript. -### Minimum version +### Minimum version {#minimum-version} The latest major version of `@slack/bolt` is supported to build against a minimum TypeScript version of v4.1.