LoginSignup
2
0

More than 3 years have passed since last update.

ハッカソン系イベントを教えてくれるSlack bot v0.1作ってみた

Posted at

はじめに

connpassのAPIを使ってハッカソン関連のイベントを教えてくれるbotです
わざわざ調べなくても旬な情報がでてきます!

手順

Slackの準備

ボットのアプリをインストールする
Slackのワークスペースにボットのアプリ(中身のない箱のようなもの)をインストールする。

ここをクリック。
スクリーンショット 2018-01-29 13.25.35.png

"hubot"と検索し、インストールをクリック。
Slack_-_テスト用.png

インストールをクリック。
Hubot___Slack_App_ディレクトリ.png

botのユーザー名を入力してHubotインテグレーションの追加をクリック。
Hubot___テスト用_Slack.png

APIトークンなるものが発行されるのでメモしておく。
Hubot___Slack_App_ディレクトリ 2.png

Slackに戻ってみると、中身のない箱のようなボットが作成されていることが確認できますね。
Slack_-_テスト用 2.png

Google Apps Scriptの準備

各種伏せ字部分を埋めてください

code.js
function myFunction() {
  var connpassApiOptions = {
    'method': 'get',
    'contentType': 'application/json'
  };

  var connpassApiResponse = UrlFetchApp.fetch('https://connpass.com/api/v1/event/?keyword_or=%E3%83%8F%E3%83%83%E3%82%AB%E3%82%BD%E3%83%B3&keyword_or=hackathon&count=30', connpassApiOptions);

  Utilities.sleep(2000)
  var content = JSON.parse(connpassApiResponse.getContentText("UTF-8"))

  var title = content.events[0].title
  var url = content.events[0].event_url
  var startTime = content.events[0].started_at
  var discription = content.events[0].description

  var text = " *最新のハッカソン情報をお届けします!!😆* " + "\n\n"

// ハッカソン関連のワードが含まれているかの判別
  content.events.map(function(value,index){
                                 if(Boolean(value.title.match(/ハッカソン/)) || Boolean(value.title.match(/アイデアソン/))  || Boolean(value.title.match(/thon/))){
    text = text + "- " + value.title + "(" + value.event_url +  ")\n\n"
  }
})

// hubotのtoken
  var slack_token = ★★★★★★★★★★★★;

  var slackApp = SlackApp.create(slack_token);
  // 対象チャンネル名
  var channelId = "#★★★★★★";
  // 投稿するメッセージ
  var message = text;

  var options = {
    'username': "★★★★★★", // botのSlack表示名
    'icon_url': "★★★★★★" // botのアイコン画像URL
  }

  slackApp.postMessage(channelId, message, options);
}

実行!

※実運用中なので画像と名前は伏せます
スクリーンショット 2019-12-18 20.25.17.png

おわりに

Google Apps Scriptの時計マークボタン(トリガー)を設定すると週に1回自動で教えてくれたりします♪

2
0
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
2
0