技術

Slack Tasker系アプリで絵文字ステータスを自動設定(android 「Automate」)

投稿日:

Slackの絵文字ステータス、皆さん使っているでしょうか?
私は自分の居る場所に合わせてステータスを変えたりしてますが、一々変更するのはやっぱり面倒臭い。

ということで、スマホのTasker系アプリで絵文字ステータスの変更を自動化してみます。

※Tasker系アプリ:スマホで出来る色んな操作を自動化するアプリ

使用するアプリ・機能

手持ちのスマホがandroidなので、androidで進めます。

・Automate(バージョン:1.6.1 Google Play

無料で使えるものなら何でも良かったのですが、インターフェースがフローチャート操作になっているこのアプリが面白そうだったので、こちらを使ってみました。

Automateの使い方

簡単にAutomateの使い方をご紹介。

①トップページにある右上の「+」ボタンをタップ

②フローチャート作成画面の左上にあるメニューボタンをタップ

③メニューから追加したい処理を選択

   

④各ブロックにある「OK」や「YES」・「NO」の部分を長押しして別ブロックに接続

⑤完成したら右上のチェックボタンを押して保存

   

⑥「Start」ボタンで起動

※動かないって時は下の「PERMISSONS」から必要な権限を追加します。

といった流れになります。

英語表記に戸惑いましたが、フローチャートを作るだけなので操作は割と簡単。

絵文字ステータス設定のフロー作成

今回は自分の居る場所に合わせて絵文字ステータスを設定したいので、スマホの位置情報に合わせて動くようなフローにしたいと思います。

絵文字ステータスの設定は「Slack API」で変更していきます。

大まかな流れを作成

まずは細かい設定は後にして大まかな流れを作成。

1.メニューの[LOCATION]から「Location at?」を追加。

このブロックで居場所のチェックをします。

2.メニューの[CONNECTIVITY]から「HTTP request」を追加。

このブロックでSlack APIを実行します。
使うAPIはusers.profile.set 細かい設定は後回し。

3.メニューの[FLOW]から「Fork」を追加。

常駐させるためのループ部分です。

ここまででこんな感じ。

居場所のチェック(When at location)で目標の場所に居ない場合は、絵文字ステータスをクリアするようにNO方にもSlack APIを呼び出すブロックを追加しましょう。

追加してこんな感じ。

流れは完成、あとは各ブロックの設定をしていけば動くはず。

各ブロックの設定

「Location at?」(When at location)

設定画面がこちら

[OPTIONS]は「When change」を指定。
位置情報が変更されたときにチェックします。

[INPUT ARGUMENTS]に目標の場所の位置情報を入力します。
Pick a location on map…ボタンでミニGoogle Mapから探すことも可能。

設定出来たら右上の「DONE」で保存。

HTTP request

次はこちら、Slack APIを動かすブロックです。

1つ1つ指定するのも面倒なので、Slack APIのテストページからURLを作ります。

user.profile.setのテストページ

最低限入力するのは「token」と「profile」

tokenの作成は「Generate tokens to test with here.」から、順番に進めればさらっと出来上がります。

profileに設定したい絵文字ステータスを入力します。
profileはJSON形式。

{"status_text":"ウフフ", "status_emoji":":smile:"}

ステータスをクリアする場合は”status_text”、”status_emoji”の両方に空文字(””)を指定。

入力が終わったらTest Methodボタンをポチ。
URLエンコードされたURLがボタン下に表示されるのでAutomateのURLに入力。終わったらDONEで保存。

増やすのは同じことの繰り返しなので、1か所だけで動作確認です。

動作確認

確認に自宅に居たら笑顔マーク、自宅から離れていたらステータスなしで設定しました。

テキトウに絵文字ステータスつけて、自宅を離れる・・・
ステータス消えた!、で、家に帰るとステータス付いた!

Automateのログにエラーが出ていなければ完成。(問題なく動いているはず)

おしまい

場所の追加は別フロー作るでも、ブロック追加するでも対応出来るかなー。

wi-fiから4G等に切り替わるタイミングなんかにHTTP requestが動いちゃうとエラーになるので、場所によっては待ち時間を挟む必要がありそうです。(フローチャートに[DATE & TIME]から「Delay」を追加して設定できます。)

これで使ってみてダメそうならまた考えよう。

-技術
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

[Angular]リアクティブフォームでバリデーション名を動的に出し分ける。

Angularのリアクティブフォームのカスタムバリデーションで、動的にエラー名を …

[Xcode]Provisioning Profileの中身を確認する方法

こんにちは。たなかです。 以前『[Xcode]Provisioning Prof …

[AWS Cli] brew install awscli が失敗!

どうも中田です awsコマンドがないよーって言われたので、再度インストールするこ …

プログラミンを触ってみた

2020年から小学校でのプログラミング教育が必修になる(かも?)ということで、 …

no image

【ionic】FBログイン時にSafari認証になってしまう

どうも中田です。 ionicでFacebookログインを実装した時に、 Nati …