『100日後にアーカイブされるSlackチャネル』を動かすGoogle Apps Script
- SlackのPublicチャネル一覧を取得し、public_channelsシートに記載します
- 95日以上コメントのないチャネル一覧をarchive_warning_channelsシートに記載します
- archive_warning_channelsシートに記載されてから5日以上経ったチャネルを自動でアーカイブします
詳細は google/clasp を参照してください。
# After fork & clone
cd gas-slack-channels-auto-archive
npm install -g @google/clasp
clasp create --type standalone
yarn install
デプロイに必要な ~/.clasprc.json
の除法をGitHubリポジトリのSecretsに登録します。
CLASPRC_ACCESS_TOKEN
CLASPRC_CLIENT_ID
CLASPRC_CLIENT_SECRET
CLASPRC_EXPIRY_DATE
CLASPRC_ID_TOKEN
CLASPRC_REFRESH_TOKEN
clasp create
で生成される .clasp.json
の情報も同様に登録します。
CLASP_SCRIPT_ID
Apps Scriptの中で参照する値をPropertiesに設定します。設定箇所は『GAS プロパティ 設定』などで検索してください。
Name | Description | Example |
---|---|---|
SLACK_TOKEN | Slack APIを利用するためのToken。ユーザーの招待を行える権限が必要です | xoxp-3241341353-13423423423-234253515315-91f5d9c4an64ddd7535e6edf1c3126aa |
SLACK_BOT_TOKEN | アーカイブを行うSlack BotのToken。チャネルのアーカイブを行える権限が必要です | xoxb-33554526158-2357340024131-qGIP1234DjYShIHGOERJRfF5AB |
SLACK_BOT_USER_ID | アーカイブを行うSlack BotのユーザーID。チャネルに招待する時に使います | U02O7A02DQB |
SLACK_BOT_NAME | 結果をコメントするSlack Botの表示名 | 100日後にアーカイブされるSlackチャネル |
SLACK_BOT_ICON_EMOJI | 結果をコメントするSlack Botのアイコンemoji | :100wani: |
ANNOUNCE_SLACK_CHANNEL_ID | 結果をコメントするSlackチャネル | BDI2O8BAL |
SPREAD_SHEET_ID | 結果を記載するSpreadSheetのID | 1OJ4wi8GfFVh6a-rof14752RK9UOtLeoJAr26_yQo7m0 |
スクリプトでは、次のSlack APIを利用しています。