Upgrade to Pro — share decks privately, control downloads, hide ads and more …

teratailで秒速回答を目指す - GoogleAppsScript + SlackWeb...

teratailで秒速回答を目指す - GoogleAppsScript + SlackWebhook

第六回 集まっtail LT:5分
今回はGoogleAppsScriptとSlackIncomingWebhookでteratailの質問を通知するスクリプトを作りました。
どれもキーの取得や実装が簡単で、手軽に実装できるので1時間もあれば作成できてしまいます。
通知で使用したソースコードは以下で公開しています。
https://gist.github.com/tai-sho/5aa91c6e3db9d98ea3f71ce9ef9cb155

泰 昌平@ShoheiTai

September 15, 2016
Tweet

More Decks by 泰 昌平@ShoheiTai

Other Decks in Programming

Transcript

  1. Pythonで5分に1度teratailを開く import threading import webbrowser def teratail(): webbrowser.open('https://teratail.com') t =

    threading.Timer(300, teratail) t.start() if __name__ == '__main__': t = threading.Thread(target = teratail) t.start()
  2. jsで5分に1度teratailを開く setInterval(() => { window.open('https://teratail.com'); }, 300 * 1000); (function

    teratail() { window.open('https://teratail.com'); setTimeout(teratail, 300 * 1000); })();
  3. GoogleAppsScript - リクエスト function request(url, options) { var response =

    UrlFetchApp.fetch(url, options); return response.getContentText('UTF-8'); } UrlFetchApp.fetch()でHTTPリクエストを発行で きる。
  4. GoogleAppsScript - teratailAPI // 指定したタグの質問を取得する function getQuestionByTagName(tagName, params) { var

    token = '*********'; var url = 'https://teratail.com/api/v1/tags/' + tagName + '/questions/'; if(params) { url += '?' + queryString(params); } var result = request(url, { headers: {Authorization: 'Bearer ' + token} }); return JSON.parse(result); }
  5. GoogleAppsScript - SlackWebhook // SlackWebhookにリクエストを投げる function requestSlack(payload) { var url

    = 'https://hooks.slack.com/services/*********'; var result = request(url, { method : 'POST', payload : JSON.stringify(payload) }); return result; }
  6. THANKS! Any questions? You can find me at ✘ facebook:

    shouhei.tai ✘ Twtter: @ShoheiTai
  7. Credits Special thanks to all the people who made and

    released these awesome resources for free: ✘ Presentation template by SlidesCarnival ✘ Photographs by Unsplash