# Slack チャンネル毎のカスタム

## コマンドの種類

Takumi を Slack に招待したのち、直接 Takumi に対してタスクを依頼する他に、下記の Slack コマンドをご利用いただけます。

1. `takumi-scopes` でアクセス可能なコードベースを管理する
2. `takumi-tasks` で単発/定期タスクを管理する
3. `takumi-knowledge` でタスクを跨いで保持する知識を管理する

## 1. `takumi-scopes` でのアクセス可能なコードベースの管理 {#1-takumi-scopesでのアクセス可能なコードベースの管理}

:::info
Takumi がアクセス可能なリポジトリはスコープによって制限されており、タスクを依頼する際にはその対象となるリポジトリをスコープへ設定いただく必要があります。
:::

Slack チャンネルにて `/takumi-scopes` と入力いただくと、現状 Takumi がアクセス可能なリポジトリの情報が表示されます。新しくリポジトリを追加する場合は `Edit` を選択してください。

![takumi-scopes コマンドの入力](/docs/ja/_md-assets/3ce6685b7a-takumi-commands-scopes-01.png)

Takumi がその時点でアクセスを許可されているリポジトリが表示されるので、Takumi にアクセスさせたいリポジトリを選択してください。

![アクセス可能なリポジトリの選択](/docs/ja/_md-assets/1474491623-takumi-commands-scopes-02.png)

選択したのち、`Submit` で確定してください。

![スコープの確認と送信](/docs/ja/_md-assets/569694cea5-takumi-commands-scopes-03.png)

再度 `/takumi-scopes` コマンドを入力いただくと、追加されたスコープの確認およびその変更が可能です。

![スコープの確認](/docs/ja/_md-assets/7569d99cb4-takumi-commands-scopes-04.png)

### コマンドラインでのリポジトリの追加・削除

コマンドライン引数を使用して、リポジトリを直接追加または削除することもできます。

```
/takumi-scopes add https://github.com/owner/repo
/takumi-scopes remove https://github.com/owner/repo
```

このコマンドは `https://github.com/owner/repo` 形式の GitHub リポジトリ URL を受け付けます。後方互換性のため、従来の `owner/repo` 形式もサポートされています。

:::note
「App took too long response」のようなエラーが表示された際は、数秒空けて何度か再度お試しください（リポジトリ一覧の取得に時間がかかっている場合があります）。
GitHub 連携時に選択したリポジトリの数を最小限に絞ることで、この挙動を軽減できる場合があります。
それでも解決しない場合は、カスタマーサポート窓口までご連絡ください。
:::

## 2. `takumi-tasks` でのタスク管理

:::info
直近で Takumi へタスクを依頼したい場合は、直接 Slack チャンネルにてメンションすることも可能です。

![Takumi にメンションして依頼](/docs/ja/_md-assets/0f127e8de0-takumi-commands-mention-01.png)

他に、Shisho Cloud byGMO からタスクの設定を行うには [Takumi のスケジュールタスクを利用する](/docs/ja/t/features/scheduled-tasks.md) を参照してください。Shisho Cloud byGMO 上で設定したタスクは Slack からは確認できません。
:::

Slack チャンネルにて `/takumi-tasks` と入力いただくと、現在 Takumi にアサインされているタスク、及び定期タスク（Cron Task）、単発タスク（One-Shot Task）のアサインのボタンが表示されます。

![takumi-tasks コマンドの入力](/docs/ja/_md-assets/c5cd5cc547-takumi-commands-tasks-01.png)

:::note
「App took too long response」のようなエラーが表示された際は、数秒空けて何度か再度お試しください。
それでも解決しない場合は、カスタマーサポート窓口までご連絡ください。
:::

### 単発タスク（One-shot Task）の登録

`Add One-Shot Task` を選択することで単発タスクアサイン用のフォームが表示されます。タスクのタイトル、実行日時、タスクの依頼内容、及びタスクに関する報告先（チャンネル及びメンション先のユーザー）を入力し、`Submit` で登録してください。

![単発タスクのアサイン](/docs/ja/_md-assets/4ccaea3ec0-takumi-commands-tasks-02.png)

設定後、`/takumi-tasks` コマンドを再度実行いただくと、現在予定されている単発タスクが確認でき、必要に応じてそれらの変更・キャンセルが可能です。

指定の時間に Takumi がスレッドをチャンネル内に作成し、タスクを実行します。

![単発タスクの実行](/docs/ja/_md-assets/465cb3364c-takumi-commands-tasks-03.png)

:::warning
One-Shot タスクの実行日時を `Submit` で登録した同時刻、あるいはその前の時間に設定した場合、タスクは追加されません。
:::

### 定期タスク（Cron Task）の登録

`Add Cron Task` を選択することで定期タスクアサイン用のフォームが表示されます。単発タスク同様、必要な項目を記入し、`Submit` で登録してください。タスクの実行時間は cron 表現での指定となります。

![定期タスクのアサイン](/docs/ja/_md-assets/1ef2bbeec4-takumi-commands-tasks-04.png)

設定後、再度 `/takumi-tasks` コマンドを実行いただくことで、現状設定されている定期タスクの確認・修正が可能です。

![定期タスクの確認](/docs/ja/_md-assets/462b73b890-takumi-commands-tasks-06.png)

指定の時間になる都度、Takumi によってチャンネル内でスレッドが作成され、指定のタスクが実行されます。

## 3. `takumi-knowledge` での知識の管理

Slack チャンネルにて `/takumi-knowledge` を入力いただくと、現段階で Takumi がタスクを跨いで保持する知識の確認及び登録が可能です。

![takumi-knowledge コマンドの実行](/docs/ja/_md-assets/ec47e76d88-takumi-commands-knowledge-01.png)

`Add` を選択することで、手動で知識を登録いただけます。

![知識の追加](/docs/ja/_md-assets/bd862c88da-takumi-commands-knowledge-02.png)

再度 `/takumi-knowledge` コマンドを実行いただくと、追加されたナレッジが表示され、その修正が可能です。

![知識の確認](/docs/ja/_md-assets/b8f43d88d9-takumi-commands-knowledge-03.png)

`Delete` を選択することで登録された知識の削除が可能です。

![知識の削除](/docs/ja/_md-assets/d6245debc2-takumi-commands-knowledge-04.png)
