deglacer

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2021 License: MIT Imports: 18 Imported by: 0

README

deglacer

MIT License GoDoc

KibelaリンクをSlack上で展開してくれる君

Description

deglacerはkibelaのリンクがSlackに投稿された際に、それを展開してくれるSlack Appです。以下の機能を備えています。

  • kibelaの記事の展開
  • kibelaのコメントの展開

deglacerは木べらを用いる調理手法である、déglacer(デグラッセ)から命名しました。

Installation

  1. Kibelaアクセストークン取得
  2. Slack App作成
  3. deglacerのデプロイ
  4. 2で作ったappに、3のURLを登録する
  5. Slack Appのbotユーザーをチャンネルに招待する
1. Kibelaアクセストークン取得

以下のURLからアクセストークンを作成します(KIBELA_TOKEN)。権限はreadのみで大丈夫です。

https://my.kibe.la/settings/access_tokens

2. Slack Appの作成
  1. https://api.slack.com/apps の Create New App からアプリ作成
  2. 左メニュー OAuth & Permissions を開き、Scopesでlink:writeを追加
  3. 左メニュー Event Subscriptions を開く
    • App unfurl domains を展開し、 Add Domain で、 {KIBELA_TEAM}.kibe.la を入力し、Save Changes
  4. 左メニュー Install App を開き、 Install App to Workspace -> Allow
  5. OAuth Access Token が表示されるのでメモ (SLACK_TOKEN)
  6. Basic Information を開き App CredentialsのSigning Secretをメモ (SLACK_SIGNING_SECRET)

※後で戻ってくるので、Slack Appの管理画面は開いたままにしておく。

3. deglacerのデプロイ

deglacerはGoで書かれたWebアプリケーションなので、任意の場所で簡単に動かせますが、HerokuやGoogle App Engineを利用するのがより簡単でしょう。動作のためには以下の環境変数が必要です。

  • KIBELA_TEAM: Kibelaのチーム名
  • KIBELA_TOKEN: 手順1で取得したKibelaのアクセストークン
  • SLACK_TOKEN: 手順2-5で取得したSlack Appのトークン
  • SLACK_SIGNING_SECRET: 手順2-6で取得したリクエスト署名検証secret
Herokuで動かす場合

以下のボタンからデプロイできます。

Deploy

Google App Engineで動かす場合
  1. 事前にgcloudコマンドのインストールやGCP上のアプリの作成をおこなう
  2. 当リポジトリをcloneする
  3. secret.yaml に設定項目を記述する(secret.yaml.exampleを参考に)
  4. gcloud app deploy でデプロイ
4. 2で作ったappに、3のURLを登録する
  • 左メニュー Event Subscriptions を開き、 Request URL に 3でデプロイしたdeglacerのURLを入力
  • Verified と表示されたら Enable Events を On にして Save Changes
5. Slack Appのbotをチャンネルに招待する

Bot名は、左メニューのApp Homeから確認してください。

これで準備完了です。

See Also

deglacerはotofune/slack-unfurl-kibelaのRuby実装を参考に移植しました。設定にあたっては、higebuさんのエントリが非常に参考になりました。

Author

Songmu

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(argv []string) error

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL