Open8

go で Slack のチャンネルでの発言を取得する

Keiichi NomuraKeiichi Nomura

https://future-architect.github.io/articles/20201117/
↑にある方法で VS Code を設定し、デバッグ動かしてみると以下のエラーが出た

go: go.mod file not found in current directory or any parent directory; see 'go help modules'
exit status 1
Process exiting with code: 1

とりあえずソースコードを $GOPATH/src 以下に適当にディレクトリ切って、そこで開発することにした
で、以下実行

go mod init

これで VS Code でデバッグできた。

Keiichi NomuraKeiichi Nomura

ここでSlackアプリを作成
https://api.slack.com/apps

OAuth & Permissions で、User Token Scopes に channels:history のスコープを追加。(とりあえず public チャンネルの履歴だけ取得)
Install to Workspace を実行。権限の許可を行う

User OAuth Token の内容を控えておく

Keiichi NomuraKeiichi Nomura

Go で文字列の操作
https://www.irohabook.com/go-string

Slack の conversation.history で oldest, latest に指定するタイムスタンプのフォーマットが、UNIXマイクロ秒タイムスタンプかつミリ秒以下のところでドット(.)を入れる仕様だった。なので、とりあえず文字列を分割して無理やり . を入れる形にしてみた。