SlideShare a Scribd company logo
Slackの
Incoming Webhooksと
Outgoing Webhooksを
使って電子工作と連携させてみよう!
第15回まどべんよっかいち発表資料
2016/07/23
@ueponx
ショートセッションの内容が
全く決まっていない、ある朝
こんなやり取りでテーマが決まってしまいました・・・
NobukumaさんからSlackへのお誘いがあり・・・
・同じ日のHさんセッション「BotFrameWork入門」
丸かぶりです。ありがとうございます。
Slack…?
きいたことありますか?
Slackと聞いて…
…Slackwareを思い出す。
そんなふうに考えていた時期が俺にもありました
(by刃牙)
今回取り上げるもの
Slackのサービス連携(Integrationと呼ぶ)の仕組み
Incoming Webhooks
Outgoing Webhooks
この2つの作成の仕方とRaspberryPiの連携を紹介します
Webサービス連携といえば?
Webサービスの連携(1)
 IFTTT
Webサービス連携の代表格
数多くサービスの連携が可能
連携サービスの中には「Slack」も
Webサービスの連携(2)
 Microsoft Flow
 Microsoftが作ったWebサービス連携
 ベースはOffice365(サービス利用だけ)
 Businessよりサービスが多い
 まだ発展途上なイメージ
 連携サービスの中には「Slack」も
既存の連携のサービスを使用すれば?
実は連携の起点になるものがIFTTTにもFlowに
も存在していない。(2016/07/17現在)
下記はIFTTTの連携情報、サービス連携一覧のTriggerは
提供されていない。
空っぽ
Slack側で提供されるサービス連携を
使う意味はあるのかも?
Slackが提供している代表的なIntegration
Incoming WebHooks
Slackが発行するURLへPOSTするとSlackにメッセージが投
稿される。
Outgoing WebHooks
Slackへ指定したキーワードのついたメッセージが投稿さ
れると、指定したURLに投稿内容がPOSTされる。 (POST
されるサーバ・システムを実装する必要あり)また、決
められた形式(json)のレスポンスを返すことで同時に
Slack上へ投稿することも可能。
Slack API
メッセージの投稿に加え、ファイルのアップロード・
チーム情報やチャンネル情報の取得等が利用可能。細か
な連携を行う人向け。
Slackbot 「Incoming WebHooks」の簡易版
Slackでは他のWebサービスを連携する機能をSlack Integrationsと呼びます。
提供されているIntergration以下のようなものがあります。(その他もあり)
Incoming Webhooks編
Incoming Webhooksとは?
設定時に登録するURL(Slack側で提供される)にJSONデータをPOST
(HTTP)するとJSONデータに含まれるテキストデータがSlackChannel上に
書き込まれる。
JSONの形式は
パラメータ名 概要
text メッセージ(必須)
username 投稿者(サービス)名
icon_url 投稿者名のアイコン画像のURL
icon_emoji 投稿者名のアイコン
channel 「#」または「@」から始まるChannel名
基本的にはtextパラメータだけでも大丈夫!
Incoming Webhooksは
定期的に情報を垂れ流すに用途には良さそう
IFTTTでも提供されている部分
今回作成するBotについて
今回は
Slackに予告メッセージを書き込むようなユルセンbotを作ってみます。
ユルセンとは・・・
仮面ライダーゴーストに出てくる、仙人の使い魔。オレンジと白のオバケの姿をし
ており、大きな目玉型の頭が特徴。
一人称は「俺様」、ごくまれに「俺」。戦い方を指導する役目を持つが、
口が悪い毒舌家でタケルを小馬鹿にしたり呆れたりしている。
次回予告ではタイトルコールを担当している。(CV:悠木碧)
(Wikipediaより引用)
Incoming Webhooks編
設定部分
Incoming Webhooksの設定
https://[channel名].slack.com/apps にアクセス
Incoming webhooksで検索
Incoming Webhooksの設定
クリック
Incoming Webhooksの設定
スクロール
Incoming Webhooksの設定
書き込み対象にする
Channnel
送信先のURL
後で使用
Botの名前
Botのアイコン
クリック
Incoming Webhooksの設定
完成したbot
Incoming Webhooksを使用したbotの設定ができました
Incoming Webhooks編
コーディング部分
C#でコーディング
【usingや処理に関連性の低い部分は略】
// Slackで設定時に表示されたURL(xxxxxxxxxxxxxxxxxxは適宜変更してください)
static readonly string URI = "https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxx";
var client = new HttpClient();
var param = new Hashtable();
param["text"] = "来週の仮面ライダーゴースト~♪";
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(param);
var content = new StringContent(json);
var response = client.PostAsync(URI, content).Result;
Console.WriteLine(response);
JSONデータの生成
Slackへ送信
Python(RaspberryPi上)でコーディング
> import slackweb
> slack = slackweb.Slack(url="https://hooks.slack.com/services/xxxxxxxxxx")
> slack.notify(text="来週の仮面ライダーゴースト~♪")
$ sudo pip install slackweb
【コーディング】
PythonのCLIで以下のように入力すると簡単にテスト可
【事前準備】
Pythonは便利なライブラリslackwebをインストール
何言ってるのかわからないぐらい簡単に実装ができます。
Outgoing Webhooks編
Outgoing Webhooksとは?
Slack上にキーワードのついたメッセージが投稿されると、指定した
URL(ユーザ側でサーバなどを準備)に投稿の内容がPOST(HTTP)さ
れる。 POSTされたURLからJSONデータのレスポンスを返すことで、
Slack上へ投稿することも可能。JSONの形式はIncoming Webhooksと同
様(前のページ参照)。
サーバに送信されるPOSTされたデータは以下(JSON形式ではないので注意)
token
team_id
channel_id
channel_name
timestamp
user_id
user_name
text
trigger_word
Outgoing Webhooksは
書込みをトリガーにして動作ができる。
その結果・成果をSlackに返すこともできる。
IFTTTでも提供されていない機能
電子工作側で処理トリガーを送ることも可能
今回作成するBotについて
今回は
手元にあるRaspberryPiのLEDを点灯、
その後
投稿したUser_name+“裏切者は殺す。デストロンを代表して。ヨロイ
元帥”
を連結してSlackに投稿するヨロイ元帥Botを作ってみます。
Slackの書き込み中に「仮面ライダー」というキーワードあったら、
ヨロイ元帥とは・・・
仮面ライダーV3第41話から登場。ツバサ軍団壊滅後に現れた「ヨロイ一族」の長
にして、デストロン最後の4代目大幹部。独特の口調で、デストロンのことを
「デーストロン」と呼称する。「結果がすべて」という信条の元に、失敗を犯した
者は配下の者ですら始末してきた。
デストロンの科学者・結城丈二のことを自分の地位を脅かすと見なして危険視して
おり、彼に反乱の濡れ衣を着せて抹殺をもくろむ。しかし、失敗したことで結城は
造反者・ライダーマンになってしまう。
旅客機を墜落させるレーザー砲を装備した兜に加え、全身には血塗られたように赤
い鎧を着用しており、そのエッジ部分は鋭利な刃物になっている。戦闘では左腕に
持った、新幹線をも砕く硬度の鉄球を武器として戦う。
ライダーマンをおびき寄せる目的で、結城丈二に差出人住所を明記した年賀状を
送ったことがある。
(Wikipediaより引用)
ヨロイ元帥とは・・・
Outgoing Webhooks編
設定部分
Outgoing Webhooksの設定
https://[channel名].slack.com/apps にアクセス
Outing webhooksで検索
Outgoing Webhooksの設定
クリック
Outgoing Webhooksの設定
クリック
Outgoing Webhooksの設定
スクロール
Outgoing Webhooksの設定
検知対象の
Channnel
トリガーになる
キーワード
アクセス先のURL
(自宅RasPiのIP)
トークン
不正アクセス防止にも
使えるが…
前方一致
のみ有効に注意
POSTのデータ解析で
認証もできるよ
程度
Outgoing Webhooksの設定
Botの名前
Botのアイコン
クリック
Outgoing Webhooksの設定
完成したbot
Outgoing Webhooksを使用したbotの設定ができました。
Outgoing Webhooks編
コーディング部分
PythonでOutgoing Webhooks用サーバを
作成(RaspberryPi python2.7系を使用)
#【続き】
responseValue = ‘テスト'
self.send_response(200)
self.send_header('Content-type', 'text/json')
self.end_headers()
responseData = json.dumps({'text': responseValue})
self.wfile.write(responseData.encode('UTF-8'))
port = 8888
serverAddress = ('', port)
httpd = BaseHTTPServer.HTTPServer(serverAddress, handler)
print('serving at port', port)
httpd.serve_forever()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import SimpleHTTPServer
import BaseHTTPServer
import cgi
import os
import json
class handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_POST(self):
os.environ['REQUEST_METHOD']= 'POST'
datas = cgi.FieldStorage(self.rfile, self.headers)
#【続く】
SimpleHTTPServerの
POSTメソッドをオーバーライド
PythonでOutgoing Webhooks用サーバを
作成( RaspberryPi python2.7系を使用)
#【続き】
responseValue = ‘テスト'
self.send_response(200)
self.send_header('Content-type', 'text/json')
self.end_headers()
responseData = json.dumps({'text': responseValue})
self.wfile.write(responseData.encode('UTF-8'))
port = 8888
serverAddress = ('', port)
httpd = BaseHTTPServer.HTTPServer(serverAddress, handler)
print('serving at port', port)
httpd.serve_forever()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import SimpleHTTPServer
import BaseHTTPServer
import cgi
import os
import json
class handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_POST(self):
os.environ['REQUEST_METHOD']= 'POST'
datas = cgi.FieldStorage(self.rfile, self.headers)
#【続く】
JSONを生成・Slackへ返信する
PythonでOutgoing Webhooks用サーバを
作成( RaspberryPi python2.7系を使用)
#【続き】
responseValue = ‘テスト'
self.send_response(200)
self.send_header('Content-type', 'text/json')
self.end_headers()
responseData = json.dumps({'text': responseValue})
self.wfile.write(responseData.encode('UTF-8'))
port = 8888
serverAddress = ('', port)
httpd = BaseHTTPServer.HTTPServer(serverAddress, handler)
print('serving at port', port)
httpd.serve_forever()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import SimpleHTTPServer
import BaseHTTPServer
import cgi
import os
import json
class handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_POST(self):
os.environ['REQUEST_METHOD']= 'POST'
datas = cgi.FieldStorage(self.rfile, self.headers)
#【続く】
ポート番号8888でアクセスを待ち受ける。
ヨロイ元帥botに改造する…
ヨロイ元帥botを作る
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import SimpleHTTPServer
import BaseHTTPServer
import cgi
import os
import RPi.GPIO as GPIO
import time
import json
seconds = 5
class handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_POST(self):
os.environ['REQUEST_METHOD']= 'POST'
datas = cgi.FieldStorage(self.rfile, self.headers)
GPIOを使う設定を追記
ヨロイ元帥botを作る
token = datas.getvalue('token', '')
service_id = datas.getvalue('service_id', '')
text = datas.getvalue('text', '')
user_name = datas.getvalue('user_name', '')
print token
print service_id
print text
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, GPIO.HIGH)
time.sleep(seconds)
GPIO.output(17, GPIO.LOW)
GPIO.cleanup()
GPIO 17pinをHI/LOWにする処理
ヨロイ元帥botを作る
print user_name + ' 裏切り者は殺す。デストロンを代表して。ヨロイ元帥'
responseValue = user_name + ' 裏切り者は殺す。デストロンを代表して。ヨロイ元帥'
self.send_response(200)
self.send_header('Content-type', 'text/json')
self.end_headers()
responseData = json.dumps({'text': responseValue})
self.wfile.write(responseData.encode('UTF-8'))
port = 8888
serverAddress = ('', port)
httpd = BaseHTTPServer.HTTPServer(serverAddress, handler)
print('serving at port', port)
httpd.serve_forever()
JSONデータのレスポンス
書き込んだユーザを取り出して
メッセージを追記
実行の様子
終わりに…
OutgoingWebhooksは外部から電子工作に対して処理
のトリガーを与えることができ、実装もかなり容易。
Webサーバの実装さえできればArduinoやmbedでも可
能。
家電系などスイッチ制御には向いていそう。
素のRaspbianでは、危ないのでセキュリティしっか
り!

More Related Content

What's hot

Ansible入門
Ansible入門Ansible入門
Ansible入門
Akira Otsuka
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
 
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題Masahiro Nagano
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
takezoe
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
 
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版ありますElixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
fukuoka.ex
 
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」
fukuoka.ex
 
Lt 111119
Lt 111119Lt 111119
Lt 111119
Tomoyuki Obi
 
PowerShell 小技集
PowerShell 小技集PowerShell 小技集
PowerShell 小技集
sakuragi yuuto
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
Jun Ohtani
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますElixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
fukuoka.ex
 
やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介
fukuoka.ex
 
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
fukuoka.ex
 
Ruby風Swift NSOperation編
Ruby風Swift NSOperation編Ruby風Swift NSOperation編
Ruby風Swift NSOperation編
Hisakuni Fujimoto
 
運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回
Shigeharu Yamaoka
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単に
Yoshifumi Kawai
 

What's hot (19)

Ansible入門
Ansible入門Ansible入門
Ansible入門
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
 
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版ありますElixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
 
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」
 
Lt 111119
Lt 111119Lt 111119
Lt 111119
 
PowerShell 小技集
PowerShell 小技集PowerShell 小技集
PowerShell 小技集
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますElixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
 
やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介
 
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
 
Ruby風Swift NSOperation編
Ruby風Swift NSOperation編Ruby風Swift NSOperation編
Ruby風Swift NSOperation編
 
運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単に
 

Viewers also liked

Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Kazuhiro Takahashi
 
Ras piでrt linux
Ras piでrt linuxRas piでrt linux
Ras piでrt linux
Hideki Aoshima
 
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Jun-ichi Sakamoto
 
mrubyOSチラシ
mrubyOSチラシmrubyOSチラシ
mrubyOSチラシ
Kazuhiro Takahashi
 
Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)
Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)
Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)
Kazuhiro Takahashi
 
Windows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみるWindows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみる
Shigeo Ueda
 
変身ベルトアプリ謎
変身ベルトアプリ謎変身ベルトアプリ謎
変身ベルトアプリ謎
Shigeo Ueda
 
Universal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえようUniversal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえよう
Makoto Nishimura
 
ラズパイ x Pasoriで入退室管理
ラズパイ x Pasoriで入退室管理ラズパイ x Pasoriで入退室管理
ラズパイ x Pasoriで入退室管理
Hiroyuki Miyamoto
 
ベルトガジェットにチャレンジしてみる
ベルトガジェットにチャレンジしてみるベルトガジェットにチャレンジしてみる
ベルトガジェットにチャレンジしてみる
Shigeo Ueda
 
サイボウズの企業風土
サイボウズの企業風土サイボウズの企業風土
サイボウズの企業風土
chika_nakazawa
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
Introducció a slack
Introducció a slackIntroducció a slack
Introducció a slack
jflamarich
 
Reverse Engineering Slack
Reverse Engineering SlackReverse Engineering Slack
Reverse Engineering Slack
Agney Menon
 
Don't Lack The Slack
Don't Lack The SlackDon't Lack The Slack
Don't Lack The Slack
Jonah McLachlan
 
Управление Проектом без Документации
Управление Проектом без ДокументацииУправление Проектом без Документации
Управление Проектом без Документации
Ivano Digital
 
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
HappyDev-lite
 
горник процесс Mindbox
горник   процесс Mindboxгорник   процесс Mindbox
горник процесс MindboxMagneta AI
 
Процесс Mindbox 2015
Процесс Mindbox 2015Процесс Mindbox 2015
Процесс Mindbox 2015
Alexander Gornik
 
Introduction to slack and how my team used it
Introduction to slack and how my team used itIntroduction to slack and how my team used it
Introduction to slack and how my team used it
Muchamad Ishaq Z
 

Viewers also liked (20)

Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
 
Ras piでrt linux
Ras piでrt linuxRas piでrt linux
Ras piでrt linux
 
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
 
mrubyOSチラシ
mrubyOSチラシmrubyOSチラシ
mrubyOSチラシ
 
Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)
Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)
Gr sakuraで動く mrubyスマホリモコンカー(タミヤ製ラジコン改造)
 
Windows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみるWindows10のお気に入りの機能を使いやすくしてみる
Windows10のお気に入りの機能を使いやすくしてみる
 
変身ベルトアプリ謎
変身ベルトアプリ謎変身ベルトアプリ謎
変身ベルトアプリ謎
 
Universal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえようUniversal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえよう
 
ラズパイ x Pasoriで入退室管理
ラズパイ x Pasoriで入退室管理ラズパイ x Pasoriで入退室管理
ラズパイ x Pasoriで入退室管理
 
ベルトガジェットにチャレンジしてみる
ベルトガジェットにチャレンジしてみるベルトガジェットにチャレンジしてみる
ベルトガジェットにチャレンジしてみる
 
サイボウズの企業風土
サイボウズの企業風土サイボウズの企業風土
サイボウズの企業風土
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
Introducció a slack
Introducció a slackIntroducció a slack
Introducció a slack
 
Reverse Engineering Slack
Reverse Engineering SlackReverse Engineering Slack
Reverse Engineering Slack
 
Don't Lack The Slack
Don't Lack The SlackDon't Lack The Slack
Don't Lack The Slack
 
Управление Проектом без Документации
Управление Проектом без ДокументацииУправление Проектом без Документации
Управление Проектом без Документации
 
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
 
горник процесс Mindbox
горник   процесс Mindboxгорник   процесс Mindbox
горник процесс Mindbox
 
Процесс Mindbox 2015
Процесс Mindbox 2015Процесс Mindbox 2015
Процесс Mindbox 2015
 
Introduction to slack and how my team used it
Introduction to slack and how my team used itIntroduction to slack and how my team used it
Introduction to slack and how my team used it
 

Similar to SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう

Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2totty jp
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
Tomoyuki Obi
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
Takenori Nakagawa
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verification
yukihiro kawada
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
mganeko
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発
Nomura Yusuke
 
Web Workerで○○する話
Web Workerで○○する話Web Workerで○○する話
Web Workerで○○する話
ushiboy
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
Kohei Kadowaki
 
SharePoint Framework をはじめよう #spfx
SharePoint Framework をはじめよう #spfxSharePoint Framework をはじめよう #spfx
SharePoint Framework をはじめよう #spfx
Hirofumi Ota
 
OpenStack API
OpenStack APIOpenStack API
OpenStack API
Akira Yoshiyama
 
HTTPとサーブレット
HTTPとサーブレットHTTPとサーブレット
HTTPとサーブレット
Takashi Makino
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Kikunaga Taishi
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」Kohsuke Kawaguchi
 
Tottoruby 20110903
Tottoruby 20110903Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Masanori Ishigami
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門Hiroaki Murayama
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWIN
Yoshifumi Kawai
 

Similar to SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう (20)

Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verification
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発
 
Web Workerで○○する話
Web Workerで○○する話Web Workerで○○する話
Web Workerで○○する話
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
SharePoint Framework をはじめよう #spfx
SharePoint Framework をはじめよう #spfxSharePoint Framework をはじめよう #spfx
SharePoint Framework をはじめよう #spfx
 
OpenStack API
OpenStack APIOpenStack API
OpenStack API
 
HTTPとサーブレット
HTTPとサーブレットHTTPとサーブレット
HTTPとサーブレット
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
 
Tottoruby 20110903
Tottoruby 20110903Tottoruby 20110903
Tottoruby 20110903
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWIN
 

More from Shigeo Ueda

SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料
Shigeo Ueda
 
ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン
Shigeo Ueda
 
ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成
Shigeo Ueda
 
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
Shigeo Ueda
 
E2D3で地図を作画してみよう
E2D3で地図を作画してみようE2D3で地図を作画してみよう
E2D3で地図を作画してみよう
Shigeo Ueda
 
AndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみるAndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみる
Shigeo Ueda
 
Kinect入門
Kinect入門Kinect入門
Kinect入門
Shigeo Ueda
 
Python toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみるPython toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみる
Shigeo Ueda
 

More from Shigeo Ueda (8)

SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料SeeedJP User Group 情報交換会発表資料
SeeedJP User Group 情報交換会発表資料
 
ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン ソーシャルストリーミングリモコン
ソーシャルストリーミングリモコン
 
ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成ソーシャルTvリモコンの作成
ソーシャルTvリモコンの作成
 
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
技適あり!ESP8266搭載WiFiモジュールをArduino化しよう!
 
E2D3で地図を作画してみよう
E2D3で地図を作画してみようE2D3で地図を作画してみよう
E2D3で地図を作画してみよう
 
AndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみるAndroidStudioのインストールをゼロからしてみる
AndroidStudioのインストールをゼロからしてみる
 
Kinect入門
Kinect入門Kinect入門
Kinect入門
 
Python toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみるPython toolforvsをインストールをしてみる
Python toolforvsをインストールをしてみる
 

SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう