Slackで"/clip yesterday" をGASに自動実行してもらう

Jun 1, 2018 23:33 · 1086 words · 3 minute read

はじめに

どうも最近数学ガールを読み始めたゲインです.

内容もさることながら,著者の結城浩先生のTwitterもなかなか参考になるので, 控えめに言って良さ味が深いです.

さてそんな結城先生の気になったつぶやきがこちら

はいこれなんとなくできそうですね.

ということでちゃちゃっとお試し.

自動化

こちらの記事を参考に試してみる

(本当はあんまり良くないんだろうな…)

記事では cron を実行していますが,

そのためには常にプログラムを実行するためのサーバーを用意する必要があるため, 万人には向きません.

ではこれを自動的に毎日実行するために Google App Scriptと呼ばれる, 無料のプログラミング環境を使ってみましょう.

Google Driveへ自分のアカウントでログインし,

以下のような感じでGASのファイルを作成する.

新規 > その他 の中に Google App Scriptがない方は, 新規 > その他 > アプリを追加 から Google App Script を探して追加する必要があります

gas-newfile

これでGASのファイルが作れたので,

中身を実装していきます.

事前に自分のチームのドメインとチャンネルIDとトークンを確認しておいてください

チャンネルIDはこちら

トークンはこちらの記事を参考に

function clip() {
  var options = {
    "method" : "POST",
  }

  //ここからを自分の環境に合わせて編集

  // 自分のSlackのドメイン名(hogehoge.slack.comのhogehogeの部分)
  var domain = "gainings"; 
  var token = "xoxp-xxxx-xxxx-xxxx-xxxx";
  var channelID = "CCCCCCC"
  
  var url = "https://"+domain+".slack.com/api/chat.command?token="+token+"&channel="+channelID+"&command=/clip&text=yesterday";
  var response = UrlFetchApp.fetch(url, options);
}

これで上のバーにある再生ボタンのようなボタンを押すと, Slackに /clip yesterday が打たれるはずです.

ではこれを毎朝実行してもらいましょう.

再生ボタンの隣にある時計のようなボタンを押してください.

trigger

これを押すと

トリガーが設定されていません。今すぐ追加するにはここをクリックしてください。

と出るはずです.

ではクリックして追加してみましょう

そうするとこんな画面になるはずです.

trigger-when

ここでは 何の関数を いつ動かす? ということが設定できます.

結城先生は朝7時に打っているらしいので,

日タイマー午前6時~午前7時を設定してみましょう.

これは1日1回 午前6時から午前7時のあいだに実行するという意味です.

これで設定が完了です.

まとめ

Google App Script を使ってEvernoteのClipを自動化してみました.

他にも色んなAPIを活用することで ひとりSlack生活 が捗るんじゃないかなと思います.

なにかご指摘等あればどこでも連絡お待ちしております.