初めに
弊社では現在、新型コロナウイルス感染症対策のためチームごとに出社日を分けて出勤率を下げるということをやっています。
リモート勤務の日はスレッドに開始の連絡とステータスを勤務中に変更するというルールがあります。
ステータスはコントロール+シフト+Yで変更できますが、
それが面倒なので開始します。と送信したらステータスも変わるようにしたいです。
そのためには特定のチャンネルで開始しますというメッセージが送信されたことを受け取って、ステータスを変更する必要があります。
今回の範囲
今回はapiを叩いてステータスを変えてみたいと思います。
実践
vscodeの拡張機能のRest Clientを利用してステータスを変えてみようと思います。
まず、トークンが必要なのでslack appを作成します。
リンク先でcreate appをします。トークンでちょっと躓きました。
app name と ワークスペースを選択します。
すると下の画面になります。
Permissionsを選択すると以下の画面、
User Token ScopesのAdd an OAuth Scopeを押してuser.profile.writeを選択します。
上にバナーがでて成功を教えてくれます。
しかしここで保存ボタンが見つからなくてあれれ?となったのですが、Install to Workspace をクリックして許可をするとトークンが画面に現れました!
私はここでかなり探しました。
これでトークンが入手できたので実際にリクエストをしてみます。
API叩く
POST https://slack.com/api/users.profile.set
Content-Type: application/json
Authorization: Bearer xoxp-から始まるユーザートークン
{
"profile": {
"status_emoji": ":heart:" ,
"status_text": "ハート"
}
}
これだけでステータスを変更することができました。
思ったよりも簡単にステータスを変更することができました。
ドキュメントにはほかにもたくさんのスコープがあり、いろいろできそうです。
自分がやりたいことはチャンネル内の自分が送信したメッセージを取り出してそれをみてステータスを変更するということなのですが、エンタープライズのみといわれたのでこれにて終了します。
無料でも実現できそうだぞという情報や、訂正、アドバイスなどあればコメント欄で優しく教えてください。
お読みいただきありがとうございました。