113
104

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iTunesで聴いている曲をSlackに通知するアプリをElectronで作った

Last updated at Posted at 2015-08-31

PCアプリ開発者はWeb技術を見くびらないほうがいい、あなたの仕事は今にも失われつつある。

会社のチャットにサーバーアラートを流している部屋があるのだけど、最近ノイズが激しくて見ているだけで心が荒れてくる。そこで、全然関係ない情報を流したらかえって良くなるのではないかと思って、iTunesの曲の情報を流すようにしてみたら案外評判が良かった。スクリプトをNode.jsで書いていたので、Electronでアプリ化すれば簡単に他の人でも使えると思って作った。

Last.fmでもいいのだけど、アートワークがアイコンとして表示されたり、iTunesのURLがリンクになっていたりするところをこだわってる。

使いかた

SlackでIncoming Webhookを追加して、WebhookのURLを手に入れます。
https://slack.com/services/new/incoming-webhook

アプリを起動するとメニューバーにアイコンが現れるので、クリックして設定画面を開きます。Slackから取得したURLをテキストフォームに貼り付けると設定完了です。

あとはiTunesで好きな曲を再生するだけ!

playingを今すぐダウンロード

仕組み

仕組みは単純で、おおまかにはこういう感じ。Electronなので、基本JavaScriptで書かれている。

  • Apple scriptでiTunesの再生中の曲を取得する
  • iTunes APIから曲の詳細な情報を取得する
  • SlackのIncoming Webhooksを利用して通知する

メニューバーにアイコンを表示するために、menubarというモジュールを使った。
https://github.com/maxogden/menubar

ちょっとハマったのは、画面内のフォームにCommand+vで貼り付けたりできなかったこと。ショートカットキーなどはわざわざ設定する必要があるらしい。便利モジュールを使って対処した。
https://github.com/azu/electron-template-menu

感想

Electronは、趣味のスクリプトを手軽にネイティブアプリ化するのに便利だと実感した。ただアプリ化できるだけでなく、クロスプラットフォームに動かせるので余計な手間がない。

以前のエントリでElectronを使えばより素早くより自由にPCアプリを作れると書いたけれど、今回小さなアプリを作った経験でその確信はより強まった。

PCアプリ開発者はWeb技術を見くびらないほうがいい、あなたの仕事は今にも失われつつある。

113
104
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
113
104

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?