IFTTTでSlackとTwitterを連携させて、ギャラリーサイト漁りが快適に。
みなさん、個人Slack使ってますが?
最近、ちょっとしたメモやtodo登録、RSS feedを個人のSlackのワークスペースに統合したらすごい快適になったのですが、その中でも「おお、これは良い発見をした!」というのがあったのでご紹介します。
日々のギャラリーサイト閲覧を楽にできたらいいな
普段、不定期的に以下のギャラリーサイト (一部抜粋)を回って、気になったサイトがあったらピックアップし、メモを添えてnoteにブックマーク集記事としてアップしています (マガジンにもしています)。
これらが毎日全部まとめて見ることができればすごい楽だなと思い、RSS feedをSlackのチャンネルに流し込もう!と意気込んだのは良いのですが、残念ながらCSS Design AwardsとFWAはRSSを配信していません、、
SlackにRSSフィードを追加
とりあえず国内サイトであるMUUUUU.ORGとS5-StyleとWebGL総本山はRSSを配信しているので、Slackに連携させて、特定のチャンネルに流れるようにしました。
RSSアプリを追加し、Slackのチャンネルで以下の用に入力します。
/feed subscribe https://muuuuu.org/feed
/feed subscribe https://bm.s5-style.com/feed
/feed subscribe https://webgl.souhonzan.org/rss
これでRSS feedの登録は完了です。簡単。
TwitterとSlack連携 (SlackのTwitterアプリ)
さて海外の3サイトはどうしよう (AwwwardsはRSSあるけど)、そういえば3つともTwitterアカウントがあったな。同じようにTwitterもSlackに連携させよう。
しかし、このTwitterアプリはハッシュタグなど細かい指定をすることができないので、たとえばFWAなら「#FOTD #thefwa 」というハッシュタグがついたものだけ抜粋、ということができません。
(※ただし、個別tweetのURLを入れた際にtweetの内容を展開してくれるので、このアプリも入れておくと良いです。)
TwitterとSlack連携 (IFTTTを使う)
そこで、「IFTTTを使ったらできそう」と思いついたので、調べてみたらやはりありました。IFTTTとは、いろんなサービス同士を連携できる素敵サービスです。
↓記事の3つ目の手法です。
どうやらTwitterの「高度な検索」とやらを使うらしい。
Twitterの「高度な検索」機能
今まで使ったことなかったんですが、Twitterには「高度な検索」という機能があり、アカウントとハッシュタグを組み合わせて検索したり、AND/OR条件を指定したりと、複雑な条件で検索する機能があるようです。
この機能とIFTTTを使用して、特定の条件で検索したtweetをSlackに流し込んでみます。
条件としては
・AwwwardsのSite of the Dayのtweetを取得
・CSS Design AwardsのWebsite of the Dayのtweetを取得
・FWAのFWA of the Dayのtweetを取得
具体的にはそれぞれ
・@AWWWARDS の「#SOTD」が含まれるtweet
・@cssdesignawards の「#cssdaWOTD #CSSDesignAwards 」が含まれるtweet
・@fwa の「#FOTD #thefwa 」が含まれるtweet
となり、高度な検索のフォームに条件を入力して検索してみると、その条件にあった検索結果が表示され、かつ検索窓に検索条件が入力されている状態になります。
試しに「高度な検索」から以下のように入力すると、
結果はこうなりました。
入力されている条件は以下。
(#FOTD OR #thefwa ) (from:fwa)
ハッシュタグがOR検索なのでANDにしたいと思い、安易に「OR」をはずしたらいけました。なるほど、スペース区切りがAND検索、「()カッコ」はグループか。というわけできれいにしたら以下にようになります。
#FOTD #thefwa (from:fwa)
よって、Awwwards、CSS Design Awards、FWAの検索条件はそれぞれ以下のようになります。
#SOTD (from:AWWWARDS)
#cssdaWOTD #CSSDesignAwards (from:cssdesignawards)
#FOTD #thefwa (from:fwa)
これらが全て欲しいので、カッコでグループをまとめて、全部ORでつなげたらいけるのでは?
(#FOTD #thefwa (from:fwa)) OR (#cssdaWOTD #CSSDesignAwards (from:cssdesignawards)) OR (#SOTD (from:AWWWARDS))
これでバッチリいけました。試しにTwitterの検索窓にこの条件を入れて検索してみてください。
IFTTTの設定
ではこの条件を使ってIFTTTで設定してみます。その前にまずはIFTTTとSlackが連携できるように設定しておいてください。
方法1: 提供されているAppletから設定
右上のExploreボタンから「twitter slack search」 と検索し、結果から「Post to Slack when a tweet matches your search term」を選択。
「What are you searching for?」のところに先程の検索条件を入力し、「Post to channel」>「Which channel?」でSlackのどのチャンネルに流したいかを選んでください。DMで送ったり、プライベートチャンネルでも可能です。Saveして完了です。
方法2: 自分でAppletをつくる
右上の自分のアイコンをクリックし、「Create」をクリックします。
Ifの隣の「+」ボタンをクリック。
検索窓にテキストを入れるとサービスが絞り込まれるので、「Twitter」と入れ、アイコンをクリック。
「New tweet from search」をクリック。
Thenの隣の「+」ボタンをクリック。
先ほどと同じようにしてSlackを選択。
1のときと同じように、「Which channel?」の項目でどのチャンネルに流したいかを選択。他の項目は、どのようなフォーマットで送るかなので、こだわりがなければそのまま「Create action」で保存。
以上で設定は完了です。
これで条件にあるtweetが投稿されると、Slackの指定したチャンネルにtweetが流れてくるようになります!