Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Slackであそぼ!!
Search
Keisuke Mori
June 14, 2019
Technology
0
100
Slackであそぼ!!
KFIE第一回LT会
コードはこちら→
https://gist.github.com/moririn772/de452d19f7c91bfce902e4d8201c16fc
Keisuke Mori
June 14, 2019
Tweet
Share
More Decks by Keisuke Mori
See All by Keisuke Mori
AWSを使う上で意識しておきたい、クラウドセキュリティ超入門(駆け足版)
kkmory
0
360
[JAWS-SG#02] 個人開発やハッカソンで役立つ、便利APIのつくりかた
kkmory
0
99
rubyonjets_with_aws_for_research
kkmory
0
530
AWSで動画変換&配信基盤を作った話
kkmory
0
210
Git-study-Hackz-treasure
kkmory
0
210
飯塚ブロックチェーン勉強会 #1
kkmory
0
110
Swarm: The distributed storage platform
kkmory
1
720
Kindai_Blockchain_study01
kkmory
0
220
Other Decks in Technology
See All in Technology
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ?
taisukearase
0
310
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
7
1.7k
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
4
770
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
2
660
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
190
Money-saving tips for the frugal serverless developer
theburningmonk
0
270
AWSの生成AI入門書を執筆しました🎉
minorun365
PRO
0
140
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
390
DevRelによる信頼構築とデータ駆動で変わるエンジニア採用 / DevRel Trust Building to Data Driven Engineering Hiring
bobtani
1
130
ハードウェアを動かすTypeScriptの世界
9wick
3
1.2k
個人的、Kubernetes の最新注目機能! (2024年5月版) / TechFeed Experts Night#28 〜 コンテナ技術最前線
pfn
PRO
3
210
Featured
See All Featured
Unsuck your backbone
ammeep
664
57k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
GitHub's CSS Performance
jonrohan
1025
450k
Debugging Ruby Performance
tmm1
70
11k
Robots, Beer and Maslow
schacon
PRO
155
8k
Atom: Resistance is Futile
akmur
260
25k
Scaling GitHub
holman
457
140k
Writing Fast Ruby
sferik
622
60k
Transcript
Slackであそぼ! KFIE第一回LT会 森 啓輔
自己紹介
もりけいすけ @moririn772
山崎ゼミ3年
Bitcoin
Ruby
None
None
ブロックチェーン ウェブ の人 Ruby }
であそぶ
None
≒
用意するもの
Slack Ruby heroku*1 *1 : 自動化したいなら必要
以上
やり方は簡単
Step 1
Slackの設定
開発者向けページに飛んで https://api.slack.com/
つくるアプリのいろいろを決めて
BOTをつくって
ワークスペースに追加!
か ら の
遊び場チャンネルをつくって
チャンネルにいれる! 今回は #playground とします
Step 2
コーディング
処理の流れ
全体の流れ 天気くれ!
全体の流れ 天気あげる〜
全体の流れ ごにょごにょ
全体の流れ 投稿して!
全体の流れ 投稿ぽーん!
全体の流れ おk
全体の流れ おk
全体の流れ やったー!
コードをみてみよう
HTTPを使えるようにする gem install http コンソール
Rubyファイルをつくる touch otenki.rb コンソール
ライブラリを読み込む require 'http' require 'json' require 'open-uri' require 'time' otenki.rb
お天気情報を取得する def get_and_format response = "" open(@uri) {|f| f.each_line {|l|
response << l} } format(response) end otenki.rb
必要な項目だけ抽出 w = JSON.parse(response) title = w["title"] text = w["description"]["text"]
time = Time.parse(w[“description"] [“publicTime"]).strftime("%Y %m݄%d") otenki.rb
Slackに投げる response = HTTP.post("https://ུ params: { token: 4IPKcPRmH9faFKaf, channel: “#playground”,
text: message, as_user: true, }) otenki.rb
完成形はこちら https://gist.github.com/moririn772/de452d19f7c91bfce902e4d8201c16fc
注意事項
このコードは このまま公開しないでね
Access Token = 秘密情報
response = HTTP.post("https://ུ params: { token: 4IPKcPRmH9faFKaf, channel: channel, text:
message, as_user: true, }) otenki.rb これ!!!!
Token があれば遊び放題 (流出すると悪用の危険)
環境変数で設定しましょう (詳しくはWEBで)
Step 3
やってみる
実行する ruby otenki.rb コンソール
None
えっ手動とか ダサくない?
平日の朝8:00に 教えてほしい
Heroku Scheduler https://elements.heroku.com/addons/scheduler
平日の8:00 とか 指定時間に 投稿できる
以前こんなものを…
まとめ
やったこと Slack側の設定 コードを書く 手動で動作確認
やってないこと 秘密情報の保護 自動化
続きはウェブで
まだ全然できてないです
今週末に公開予定(未定)
みんなもあそんでみよう !
余談
Rubyに興味がある "
Fukuoka.rb
毎週水曜日 天神のどこか もくもく会
もくもく会
ゆるーくどこかに集まって 各自もくもくと勉強したり 作業したり本を読んだり するだけの会
初心者大歓迎
興味がある人は 話しかけてね
ありがとうございました