Skip to content

Commit 7fbc1ea

Browse files
tools
1 parent c7e0c8f commit 7fbc1ea

35 files changed

+119
-119
lines changed

docs/english/_sidebar.json

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,209 +1,209 @@
11
[
22
{
33
"type": "doc",
4-
"id": "bolt-python/index",
4+
"id": "tools/bolt-python/index",
55
"label": "Bolt for Python",
66
"className": "sidebar-title"
77
},
8-
"bolt-python/getting-started",
8+
"tools/bolt-python/getting-started",
99
{ "type": "html", "value": "<hr>" },
10-
"bolt-python/building-an-app",
10+
"tools/bolt-python/building-an-app",
1111
{
1212
"type": "category",
1313
"label": "Slack API calls",
1414
"items": [
15-
"bolt-python/concepts/message-sending",
16-
"bolt-python/concepts/web-api"
15+
"tools/bolt-python/concepts/message-sending",
16+
"tools/bolt-python/concepts/web-api"
1717
]
1818
},
1919
{
2020
"type": "category",
2121
"label": "Events",
2222
"items": [
23-
"bolt-python/concepts/message-listening",
24-
"bolt-python/concepts/event-listening"
23+
"tools/bolt-python/concepts/message-listening",
24+
"tools/bolt-python/concepts/event-listening"
2525
]
2626
},
2727
{
2828
"type": "category",
2929
"label": "App UI & Interactivity",
3030
"items": [
31-
"bolt-python/concepts/acknowledge",
32-
"bolt-python/concepts/shortcuts",
33-
"bolt-python/concepts/commands",
34-
"bolt-python/concepts/actions",
35-
"bolt-python/concepts/opening-modals",
36-
"bolt-python/concepts/updating-pushing-views",
37-
"bolt-python/concepts/view-submissions",
38-
"bolt-python/concepts/select-menu-options",
39-
"bolt-python/concepts/app-home"
31+
"tools/bolt-python/concepts/acknowledge",
32+
"tools/bolt-python/concepts/shortcuts",
33+
"tools/bolt-python/concepts/commands",
34+
"tools/bolt-python/concepts/actions",
35+
"tools/bolt-python/concepts/opening-modals",
36+
"tools/bolt-python/concepts/updating-pushing-views",
37+
"tools/bolt-python/concepts/view-submissions",
38+
"tools/bolt-python/concepts/select-menu-options",
39+
"tools/bolt-python/concepts/app-home"
4040
]
4141
},
42-
"bolt-python/concepts/ai-apps",
42+
"tools/bolt-python/concepts/ai-apps",
4343
{
4444
"type": "category",
4545
"label": "Custom Steps",
4646
"items": [
47-
"bolt-python/concepts/custom-steps",
48-
"bolt-python/concepts/custom-steps-dynamic-options"
47+
"tools/bolt-python/concepts/custom-steps",
48+
"tools/bolt-python/concepts/custom-steps-dynamic-options"
4949
]
5050
},
5151
{
5252
"type": "category",
5353
"label": "App Configuration",
5454
"items": [
55-
"bolt-python/concepts/socket-mode",
56-
"bolt-python/concepts/errors",
57-
"bolt-python/concepts/logging",
58-
"bolt-python/concepts/async"
55+
"tools/bolt-python/concepts/socket-mode",
56+
"tools/bolt-python/concepts/errors",
57+
"tools/bolt-python/concepts/logging",
58+
"tools/bolt-python/concepts/async"
5959
]
6060
},
6161
{
6262
"type": "category",
6363
"label": "Middleware & Context",
6464
"items": [
65-
"bolt-python/concepts/global-middleware",
66-
"bolt-python/concepts/listener-middleware",
67-
"bolt-python/concepts/context"
65+
"tools/bolt-python/concepts/global-middleware",
66+
"tools/bolt-python/concepts/listener-middleware",
67+
"tools/bolt-python/concepts/context"
6868
]
6969
},
70-
"bolt-python/concepts/lazy-listeners",
70+
"tools/bolt-python/concepts/lazy-listeners",
7171
{
7272
"type": "category",
7373
"label": "Adaptors",
7474
"items": [
75-
"bolt-python/concepts/adapters",
76-
"bolt-python/concepts/custom-adapters"
75+
"tools/bolt-python/concepts/adapters",
76+
"tools/bolt-python/concepts/custom-adapters"
7777
]
7878
},
7979
{
8080
"type": "category",
8181
"label": "Authorization & Security",
8282
"items": [
83-
"bolt-python/concepts/authenticating-oauth",
84-
"bolt-python/concepts/authorization",
85-
"bolt-python/concepts/token-rotation"
83+
"tools/bolt-python/concepts/authenticating-oauth",
84+
"tools/bolt-python/concepts/authorization",
85+
"tools/bolt-python/concepts/token-rotation"
8686
]
8787
},
8888
{
8989
"type": "category",
9090
"label": "Legacy",
91-
"items": ["bolt-python/legacy/steps-from-apps"]
91+
"items": ["tools/bolt-python/legacy/steps-from-apps"]
9292
},
9393
{ "type": "html", "value": "<hr>" },
9494
{
9595
"type": "category",
9696
"label": "Tutorials",
9797
"items": [
98-
"bolt-python/tutorial/ai-chatbot/ai-chatbot",
99-
"bolt-python/tutorial/custom-steps",
100-
"bolt-python/tutorial/custom-steps-for-jira/custom-steps-for-jira",
101-
"bolt-python/tutorial/custom-steps-workflow-builder-new/custom-steps-workflow-builder-new",
102-
"bolt-python/tutorial/custom-steps-workflow-builder-existing/custom-steps-workflow-builder-existing",
103-
"bolt-python/tutorial/modals/modals"
98+
"tools/bolt-python/tutorial/ai-chatbot/ai-chatbot",
99+
"tools/bolt-python/tutorial/custom-steps",
100+
"tools/bolt-python/tutorial/custom-steps-for-jira/custom-steps-for-jira",
101+
"tools/bolt-python/tutorial/custom-steps-workflow-builder-new/custom-steps-workflow-builder-new",
102+
"tools/bolt-python/tutorial/custom-steps-workflow-builder-existing/custom-steps-workflow-builder-existing",
103+
"tools/bolt-python/tutorial/modals/modals"
104104
]
105105
},
106106
{ "type": "html", "value": "<hr>" },
107107
{
108108
"type": "link",
109109
"label": "Reference",
110-
"href": "https://docs.slack.dev/bolt-python/reference/index.html"
110+
"href": "https://docs.slack.dev/tools/bolt-python/reference/index.html"
111111
},
112112
{ "type": "html", "value": "<hr>" },
113113
{
114114
"type": "category",
115115
"label": "日本語 (日本)",
116116
"items": [
117-
"bolt-python/ja-jp/getting-started",
117+
"tools/bolt-python/ja-jp/getting-started",
118118
{
119119
"type": "category",
120120
"label": "Slack API コール",
121121
"items": [
122-
"bolt-python/ja-jp/concepts/message-sending",
123-
"bolt-python/ja-jp/concepts/web-api"
122+
"tools/bolt-python/ja-jp/concepts/message-sending",
123+
"tools/bolt-python/ja-jp/concepts/web-api"
124124
]
125125
},
126126
{
127127
"type": "category",
128128
"label": "イベント API",
129129
"items": [
130-
"bolt-python/ja-jp/concepts/message-listening",
131-
"bolt-python/ja-jp/concepts/event-listening"
130+
"tools/bolt-python/ja-jp/concepts/message-listening",
131+
"tools/bolt-python/ja-jp/concepts/event-listening"
132132
]
133133
},
134134
{
135135
"type": "category",
136136
"label": "インタラクティビティ & ショートカット",
137137
"items": [
138-
"bolt-python/ja-jp/concepts/acknowledge",
139-
"bolt-python/ja-jp/concepts/shortcuts",
140-
"bolt-python/ja-jp/concepts/commands",
141-
"bolt-python/ja-jp/concepts/actions",
142-
"bolt-python/ja-jp/concepts/opening-modals",
143-
"bolt-python/ja-jp/concepts/updating-pushing-views",
144-
"bolt-python/ja-jp/concepts/view-submissions",
145-
"bolt-python/ja-jp/concepts/select-menu-options",
146-
"bolt-python/ja-jp/concepts/app-home"
138+
"tools/bolt-python/ja-jp/concepts/acknowledge",
139+
"tools/bolt-python/ja-jp/concepts/shortcuts",
140+
"tools/bolt-python/ja-jp/concepts/commands",
141+
"tools/bolt-python/ja-jp/concepts/actions",
142+
"tools/bolt-python/ja-jp/concepts/opening-modals",
143+
"tools/bolt-python/ja-jp/concepts/updating-pushing-views",
144+
"tools/bolt-python/ja-jp/concepts/view-submissions",
145+
"tools/bolt-python/ja-jp/concepts/select-menu-options",
146+
"tools/bolt-python/ja-jp/concepts/app-home"
147147
]
148148
},
149149
{
150150
"type": "category",
151151
"label": "App の設定",
152152
"items": [
153-
"bolt-python/ja-jp/concepts/socket-mode",
154-
"bolt-python/ja-jp/concepts/errors",
155-
"bolt-python/ja-jp/concepts/logging",
156-
"bolt-python/ja-jp/concepts/async"
153+
"tools/bolt-python/ja-jp/concepts/socket-mode",
154+
"tools/bolt-python/ja-jp/concepts/errors",
155+
"tools/bolt-python/ja-jp/concepts/logging",
156+
"tools/bolt-python/ja-jp/concepts/async"
157157
]
158158
},
159159
{
160160
"type": "category",
161161
"label": "ミドルウェア & コンテキスト",
162162
"items": [
163-
"bolt-python/ja-jp/concepts/global-middleware",
164-
"bolt-python/ja-jp/concepts/listener-middleware",
165-
"bolt-python/ja-jp/concepts/context"
163+
"tools/bolt-python/ja-jp/concepts/global-middleware",
164+
"tools/bolt-python/ja-jp/concepts/listener-middleware",
165+
"tools/bolt-python/ja-jp/concepts/context"
166166
]
167167
},
168-
"bolt-python/ja-jp/concepts/lazy-listeners",
168+
"tools/bolt-python/ja-jp/concepts/lazy-listeners",
169169
{
170170
"type": "category",
171171
"label": "アダプター",
172172
"items": [
173-
"bolt-python/ja-jp/concepts/adapters",
174-
"bolt-python/ja-jp/concepts/custom-adapters"
173+
"tools/bolt-python/ja-jp/concepts/adapters",
174+
"tools/bolt-python/ja-jp/concepts/custom-adapters"
175175
]
176176
},
177177
{
178178
"type": "category",
179179
"label": "認可 & セキュリティ",
180180
"items": [
181-
"bolt-python/ja-jp/concepts/authenticating-oauth",
182-
"bolt-python/ja-jp/concepts/authorization",
183-
"bolt-python/ja-jp/concepts/token-rotation"
181+
"tools/bolt-python/ja-jp/concepts/authenticating-oauth",
182+
"tools/bolt-python/ja-jp/concepts/authorization",
183+
"tools/bolt-python/ja-jp/concepts/token-rotation"
184184
]
185185
},
186186
{
187187
"type": "category",
188188
"label": "レガシー(非推奨)",
189-
"items": ["bolt-python/ja-jp/legacy/steps-from-apps"]
189+
"items": ["tools/bolt-python/ja-jp/legacy/steps-from-apps"]
190190
}
191191
]
192192
},
193193
{ "type": "html", "value": "<hr>" },
194194
{
195195
"type": "link",
196196
"label": "Release notes",
197-
"href": "https://github.com/slackapi/bolt-python/releases"
197+
"href": "https://github.com/slackapi/tools/bolt-python/releases"
198198
},
199199
{
200200
"type": "link",
201201
"label": "Code on GitHub",
202-
"href": "https://github.com/SlackAPI/bolt-python"
202+
"href": "https://github.com/SlackAPI/tools/bolt-python"
203203
},
204204
{
205205
"type": "link",
206206
"label": "Contributors Guide",
207-
"href": "https://github.com/SlackAPI/bolt-python/blob/main/.github/contributing.md"
207+
"href": "https://github.com/SlackAPI/tools/bolt-python/blob/main/.github/contributing.md"
208208
}
209209
]

docs/english/building-an-app.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,8 +476,8 @@ Now that you have a basic app up and running, you can start exploring how to mak
476476

477477
* Read through the concepts pages to learn about the different methods and features your Bolt app has access to.
478478

479-
* Explore the different events your bot can listen to with the [`app.event()`](/bolt-python/concepts/event-listening) method. All of the events are listed [on the API docs site](/reference/events).
479+
* Explore the different events your bot can listen to with the [`app.event()`](/tools/bolt-python/concepts/event-listening) method. All of the events are listed [on the API docs site](/reference/events).
480480

481-
* Bolt allows you to [call Web API methods](/bolt-python/concepts/web-api) with the client attached to your app. There are [over 200 methods](/reference/methods) on our API site.
481+
* Bolt allows you to [call Web API methods](/tools/bolt-python/concepts/web-api) with the client attached to your app. There are [over 200 methods](/reference/methods) on our API site.
482482

483483
* Learn more about the different token types [on the API docs site](/authentication/tokens). Your app may need different tokens depending on the actions you want it to perform.

docs/english/concepts/acknowledge.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ slug: /bolt-python/concepts/acknowledge
66

77
Actions, commands, shortcuts, options requests, and view submissions must **always** be acknowledged using the `ack()` function. This lets Slack know that the request was received so that it may update the Slack user interface accordingly.
88

9-
Depending on the type of request, your acknowledgement may be different. For example, when acknowledging a menu selection associated with an external data source, you would call `ack()` with a list of relevant [options](/reference/block-kit/composition-objects/option-object/). When acknowledging a view submission, you may supply a `response_action` as part of your acknowledgement to [update the view](/bolt-python/concepts/view_submissions).
9+
Depending on the type of request, your acknowledgement may be different. For example, when acknowledging a menu selection associated with an external data source, you would call `ack()` with a list of relevant [options](/reference/block-kit/composition-objects/option-object/). When acknowledging a view submission, you may supply a `response_action` as part of your acknowledgement to [update the view](/tools/bolt-python/concepts/view_submissions).
1010

1111
We recommend calling `ack()` right away before initiating any time-consuming processes such as fetching information from your database or sending a new message, since you only have 3 seconds to respond before Slack registers a timeout error.
1212

13-
:::info[When working in a FaaS / serverless environment, our guidelines for when to `ack()` are different. See the section on [Lazy listeners (FaaS)](/bolt-python/concepts/lazy-listeners) for more detail on this.]
13+
:::info[When working in a FaaS / serverless environment, our guidelines for when to `ack()` are different. See the section on [Lazy listeners (FaaS)](/tools/bolt-python/concepts/lazy-listeners) for more detail on this.]
1414

1515
:::
1616

docs/english/concepts/actions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Your app can listen and respond to user actions, like button clicks, and menu se
1010

1111
Actions can be filtered on an `action_id` parameter of type `str` or `re.Pattern`. The `action_id` parameter acts as a unique identifier for interactive components on the Slack platform.
1212

13-
You'll notice in all `action()` examples, `ack()` is used. It is required to call the `ack()` function within an action listener to acknowledge that the request was received from Slack. This is discussed in the [acknowledging requests guide](/bolt-python/concepts/acknowledge).
13+
You'll notice in all `action()` examples, `ack()` is used. It is required to call the `ack()` function within an action listener to acknowledge that the request was received from Slack. This is discussed in the [acknowledging requests guide](/tools/bolt-python/concepts/acknowledge).
1414

1515
Refer to [the module document](https://docs.slack.dev/bolt-python/reference/kwargs_injection/args.html) to learn the available listener arguments.
1616

docs/english/concepts/ai-apps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The Agents & AI Apps feature comprises a unique messaging experience for Slack.
2929
That being said, using the `Assistant` class will streamline the process. And we already wrote this nice guide for you!
3030

3131
:::info
32-
You _could_ go it alone and [listen](/bolt-python/concepts/event-listening) for the `assistant_thread_started`, `assistant_thread_context_changed`, and `message.im` events (see implementation details below) in order to implement the AI features in your app. That being said, using the `Assistant` class will streamline the process. And we already wrote this nice guide for you!
32+
You _could_ go it alone and [listen](/tools/bolt-python/concepts/event-listening) for the `assistant_thread_started`, `assistant_thread_context_changed`, and `message.im` events (see implementation details below) in order to implement the AI features in your app. That being said, using the `Assistant` class will streamline the process. And we already wrote this nice guide for you!
3333
:::
3434

3535
## The `Assistant` class instance {#assistant-class}

docs/english/concepts/authenticating-oauth.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lang: en
44
slug: /bolt-python/concepts/authenticating-oauth
55
---
66

7-
Slack apps installed on multiple workspaces will need to implement OAuth, then store installation information (like access tokens) securely. By providing `client_id`, `client_secret`, `scopes`, `installation_store`, and `state_store` when initializing App, Bolt for Python will handle the work of setting up OAuth routes and verifying state. If you're implementing a custom adapter, you can make use of our [OAuth library](/python-slack-sdk/oauth/), which is what Bolt for Python uses under the hood.
7+
Slack apps installed on multiple workspaces will need to implement OAuth, then store installation information (like access tokens) securely. By providing `client_id`, `client_secret`, `scopes`, `installation_store`, and `state_store` when initializing App, Bolt for Python will handle the work of setting up OAuth routes and verifying state. If you're implementing a custom adapter, you can make use of our [OAuth library](/tools/python-slack-sdk/oauth/), which is what Bolt for Python uses under the hood.
88

99
Bolt for Python will create a **Redirect URL** `slack/oauth_redirect`, which Slack uses to redirect users after they complete your app's installation flow. You will need to add this **Redirect URL** in your app configuration settings under **OAuth and Permissions**. This path can be configured in the `OAuthSettings` argument described below.
1010

docs/english/concepts/authorization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ slug: /bolt-python/concepts/authorization
66

77
Authorization is the process of determining which Slack credentials should be available while processing an incoming Slack request.
88

9-
Apps installed on a single workspace can simply pass their bot token into the `App` constructor using the `token` parameter. However, if your app will be installed on multiple workspaces, you have two options. The easier option is to use the built-in OAuth support. This will handle setting up OAuth routes and verifying state. Read the section on [authenticating with OAuth](/bolt-python/concepts/authenticating-oauth) for details.
9+
Apps installed on a single workspace can simply pass their bot token into the `App` constructor using the `token` parameter. However, if your app will be installed on multiple workspaces, you have two options. The easier option is to use the built-in OAuth support. This will handle setting up OAuth routes and verifying state. Read the section on [authenticating with OAuth](/tools/bolt-python/concepts/authenticating-oauth) for details.
1010

1111
For a more custom solution, you can set the `authorize` parameter to a function upon `App` instantiation. The `authorize` function should return [an instance of `AuthorizeResult`](https://github.com/slackapi/bolt-python/blob/main/slack_bolt/authorization/authorize_result.py), which contains information about who and where the request is coming from.
1212

docs/english/concepts/commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Your app can use the `command()` method to listen to incoming slash command requ
88

99
Commands must be acknowledged with `ack()` to inform Slack your app has received the request.
1010

11-
There are two ways to respond to slash commands. The first way is to use `say()`, which accepts a string or JSON payload. The second is `respond()` which is a utility for the `response_url`. These are explained in more depth in the [responding to actions](/bolt-python/concepts/actions) section.
11+
There are two ways to respond to slash commands. The first way is to use `say()`, which accepts a string or JSON payload. The second is `respond()` which is a utility for the `response_url`. These are explained in more depth in the [responding to actions](/tools/bolt-python/concepts/actions) section.
1212

1313
When setting up commands within your app configuration, you'll append `/slack/events` to your request URL.
1414

docs/english/concepts/custom-adapters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lang: en
44
slug: /bolt-python/concepts/custom-adapters
55
---
66

7-
[Adapters](/bolt-python/concepts/adapters) are flexible and can be adjusted based on the framework you prefer. There are two necessary components of adapters:
7+
[Adapters](/tools/bolt-python/concepts/adapters) are flexible and can be adjusted based on the framework you prefer. There are two necessary components of adapters:
88

99
- `__init__(app: App)`: Constructor that accepts and stores an instance of the Bolt `App`.
1010
- `handle(req: Request)`: Function (typically named `handle()`) that receives incoming Slack requests, parses them to conform to an instance of [`BoltRequest`](https://github.com/slackapi/bolt-python/blob/main/slack_bolt/request/request.py), then dispatches them to the stored Bolt app.

0 commit comments

Comments
 (0)