Skip to content

pyama86/slack-afk

Folders and files

NameName
Last commit message
Last commit date
Mar 15, 2023
Sep 26, 2023
Sep 24, 2023
Aug 4, 2020
Aug 3, 2020
Aug 1, 2020
Mar 22, 2023
Sep 26, 2023
Jan 13, 2025
Feb 27, 2023
Aug 2, 2020
Aug 11, 2020
Oct 16, 2024
Sep 30, 2022
Jan 23, 2024
Jan 23, 2024
Oct 7, 2023
Sep 30, 2022

Repository files navigation

slack-afk

Slackで不在時に代理応答します。

概要

Slack App経由でRedisに情報を登録して、ボットがそれらの情報を基にチャンネルを監視して、メンションを検知したら代理応答します。

セットアップ

アプリの作成

  1. Slack API の画面でCreate Appを押下してください。
  2. アプリを作成したら、 Slack Commands に下記のように登録します。
  3. /afk リクエストエンドポイント https://<your domain>/register
  4. /afk_(number) リクエストエンドポイント https://<your domain>/register (指定した数字分経過で自動解除)
  5. /lunch リクエストエンドポイント https://<your domain>/register(60分経過で自動解除)
  6. /finish リクエストエンドポイント https://<your domain>/register(翌日9時に自動解除)
  7. /comeback リクエストエンドポイント https://<your domain>/delete

ボットユーザーの作成

ボットユーザーを作成して、トークンを取得してください

k8sへのデプロイ

SLACK_API_TOKENはRTMAPIが実行できるボットユーザーのトークン、SLACK_USER_API_TOKEN は一般ユーザーのトークンです。一般ユーザーのトークンは、ボットユーザーを公開チャンネルに自動でinviteするのに利用します。

$ kubectl create secret generic away-from-keyboard-secret --from-literal=slack-api-token=$SLACK_API_TOKEN --from-literal=slack-user-api-token=$SLACK_USER_API_TOKEN
$ kubectl apply -f manifests