Slack の Status emoji を API で変更する

はじめに

Slack に新しい機能が追加されました.

Set your status in Slack – Several People Are Typing — The Official Slack Blog

新しい機能が追加されていくのは楽しいですね. さっそく雑に利用してみたいと思います.

Web から試す

users.profile.set method | Slack

「profile」 に以下を書いて送信すると Status の絵文字が変わります.

{"status_emoji":":zoi:"}

f:id:tanjoin:20170511150853p:plain

このとき status_text を付与しないと元の Status のテキストが消えてしまいます. なので設定しているものを変更したくない人は記入する必要があります.

{"status_text":"今日も一日がんばるぞい!","status_emoji":":zoi:"}

f:id:tanjoin:20170511150904p:plain

Node.js で投稿してみる

とりあえず動くか試したいので、テスト投稿用のトークンを使います.

Legacy tokens | Slack

※ このトークンを永続的に使うことはおすすめしません.

var request = require('request');

var emoji = ":sushi:";

var options = {
  url: 'https://slack.com/api/users.profile.set',
  method: 'POST',
  json: true,
  form: {
    "token": "ここにAPIトークン",
    "profile": JSON.stringify({
      "status_emoji": emoji
    })
  }
};

request(options, function(error, response, body) {
  console.log(body);
});

f:id:tanjoin:20170511150914p:plain

おわりに

出社・帰宅のステータス変更に早速利用しています. (誰も見てないっぽいのでそれはそれで残念ですが…)

Qiita に書いた記事