Open8
go で Slack のチャンネルでの発言を取得する
ピン留めされたアイテム
ひとまずチャンネルの発言を拾うところまでざっと書いてみた
まずは環境構築から。
go をあまりやったことが無いのでとりあえず VSCode で環境整える
Slack のライブラリはコレで良さそう
↑にある方法で 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 でデバッグできた。
go modules のことは以下をとりあえず見てみた
Go言語の依存モジュール管理ツール Modules の使い方 - Qiita https://qiita.com/uchiko/items/64fb3020dd64cf211d4e#modules-を使うには
ここでSlackアプリを作成
OAuth & Permissions で、User Token Scopes に channels:history
のスコープを追加。(とりあえず public チャンネルの履歴だけ取得)
Install to Workspace を実行。権限の許可を行う
User OAuth Token の内容を控えておく
Go で日時取得するやり方
Go で文字列の操作
Slack の conversation.history で oldest
, latest
に指定するタイムスタンプのフォーマットが、UNIXマイクロ秒タイムスタンプかつミリ秒以下のところでドット(.
)を入れる仕様だった。なので、とりあえず文字列を分割して無理やり .
を入れる形にしてみた。