Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
Masafumi Terazono
PPTX, PDF
1,387 views
Minecraftと連携するSlackちゃんという会話Botを作った話
第一回神戸マインクラフト勉強会で使ったスライドです。
Software
◦
Read more
0
Save
Share
Embed
Save to Drive
Download now
Download to read offline
1
/ 37
2
/ 37
3
/ 37
4
/ 37
5
/ 37
6
/ 37
7
/ 37
8
/ 37
9
/ 37
10
/ 37
11
/ 37
12
/ 37
13
/ 37
14
/ 37
15
/ 37
16
/ 37
17
/ 37
18
/ 37
19
/ 37
20
/ 37
More Related Content
PPTX
Kobe.py 勉強会 minecraft piスライド
by
Masafumi Terazono
64 slides
881 views
PDF
初心者向けSpigot開発
by
Masafumi Terazono
43 slides
521 views
PPTX
ディープラーニングにおける学習の高速化の重要性とその手法
by
Yuko Fujiyama
9 slides
90.8K views
PDF
Unityで始めるバージョン管理 Git LFS 入門編
by
NAKAOKU Takahiro
40 slides
10.7K views
PDF
Unityが繋げる!ゲーム制作コミュニティとOSSの最前線 - OSC19広島
by
NAKAOKU Takahiro
45 slides
594 views
PPTX
Triphugger 1.0
by
Shiro Someya
33 slides
585 views
PDF
VTuberになるためにUnityを触ってみよう!
by
NAKAOKU Takahiro
36 slides
3.8K views
PDF
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
by
Ryo Kurauchi
20 slides
1.7K views
Kobe.py 勉強会 minecraft piスライド
by
Masafumi Terazono
64 slides
881 views
初心者向けSpigot開発
by
Masafumi Terazono
43 slides
521 views
ディープラーニングにおける学習の高速化の重要性とその手法
by
Yuko Fujiyama
9 slides
90.8K views
Unityで始めるバージョン管理 Git LFS 入門編
by
NAKAOKU Takahiro
40 slides
10.7K views
Unityが繋げる!ゲーム制作コミュニティとOSSの最前線 - OSC19広島
by
NAKAOKU Takahiro
45 slides
594 views
Triphugger 1.0
by
Shiro Someya
33 slides
585 views
VTuberになるためにUnityを触ってみよう!
by
NAKAOKU Takahiro
36 slides
3.8K views
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
by
Ryo Kurauchi
20 slides
1.7K views
What's hot
PPTX
プログラマがUnityでSTGを作った話
by
MASA_T_O
37 slides
15.7K views
PDF
Cloudmix About Girls
by
Saori Ando
28 slides
646 views
PPTX
TRaT Sprint12
by
tratwakate
2 slides
632 views
PDF
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
by
monobit
33 slides
272 views
PDF
「宴」まとめ(2016年7月23UniBoookLT大会)
by
Ryohei Tokimura
46 slides
2.4K views
PDF
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
by
Hiromichi Yamada
19 slides
1.6K views
PDF
勉強会アンチパターン at LLまつり
by
Hiro Yoshioka
44 slides
2.1K views
PDF
関ジャバ 20130731 invokedynamic
by
Koichi Sakata
72 slides
551 views
PDF
当日に楽しめない話
by
You&I
20 slides
685 views
PDF
Imostagram
by
YoshiSuru
6 slides
65 views
PDF
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
by
小屋 聖揮
80 slides
2.2K views
PPTX
PythonのインストールからHello Worldまで
by
Kioto Hirahara
34 slides
395 views
PDF
UnityによるVR開発 - 基本編 -
by
Tomonori Takata
25 slides
29.8K views
PPTX
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
by
Unity Technologies Japan K.K.
89 slides
23.4K views
PPTX
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~バーチャルYoutuberのイママデとコレカラ~
by
Ryo Kurauchi
53 slides
5.6K views
PPT
How to make gear demo videos(機材動画のつくりかた)
by
MasakiTakada1
39 slides
67 views
PDF
GGJ登録マニュアル
by
IGDA JAPAN
15 slides
12.4K views
PDF
S05 t1 midorikawa
by
Takeshi Akutsu
39 slides
1.7K views
PPTX
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~VRMのセカイとVTuberアプリの変遷~
by
Ryo Kurauchi
45 slides
1.5K views
PDF
Project Tiny + Photon Realtime
by
Toru Nayuki
10 slides
860 views
プログラマがUnityでSTGを作った話
by
MASA_T_O
37 slides
15.7K views
Cloudmix About Girls
by
Saori Ando
28 slides
646 views
TRaT Sprint12
by
tratwakate
2 slides
632 views
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
by
monobit
33 slides
272 views
「宴」まとめ(2016年7月23UniBoookLT大会)
by
Ryohei Tokimura
46 slides
2.4K views
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
by
Hiromichi Yamada
19 slides
1.6K views
勉強会アンチパターン at LLまつり
by
Hiro Yoshioka
44 slides
2.1K views
関ジャバ 20130731 invokedynamic
by
Koichi Sakata
72 slides
551 views
当日に楽しめない話
by
You&I
20 slides
685 views
Imostagram
by
YoshiSuru
6 slides
65 views
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
by
小屋 聖揮
80 slides
2.2K views
PythonのインストールからHello Worldまで
by
Kioto Hirahara
34 slides
395 views
UnityによるVR開発 - 基本編 -
by
Tomonori Takata
25 slides
29.8K views
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
by
Unity Technologies Japan K.K.
89 slides
23.4K views
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~バーチャルYoutuberのイママデとコレカラ~
by
Ryo Kurauchi
53 slides
5.6K views
How to make gear demo videos(機材動画のつくりかた)
by
MasakiTakada1
39 slides
67 views
GGJ登録マニュアル
by
IGDA JAPAN
15 slides
12.4K views
S05 t1 midorikawa
by
Takeshi Akutsu
39 slides
1.7K views
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~VRMのセカイとVTuberアプリの変遷~
by
Ryo Kurauchi
45 slides
1.5K views
Project Tiny + Photon Realtime
by
Toru Nayuki
10 slides
860 views
More from Masafumi Terazono
PPTX
マイクラシナリオメーカー(仮)の紹介をするワークショップのスライド version1.0
by
Masafumi Terazono
43 slides
39 views
PPTX
Minecraft dayの報告
by
Masafumi Terazono
15 slides
1K views
PPTX
BungeeCordeについて
by
Masafumi Terazono
37 slides
3.4K views
PPTX
Spongeについて
by
Masafumi Terazono
35 slides
3.5K views
PDF
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
by
Masafumi Terazono
118 slides
3.9K views
PDF
夜子まま塾 2015年1月23日 進行用資料
by
Masafumi Terazono
27 slides
780 views
PDF
Thetalaps
by
Masafumi Terazono
11 slides
901 views
PDF
Android wear勉強会2
by
Masafumi Terazono
56 slides
7.2K views
PDF
夜子まま塾@鹿児島
by
Masafumi Terazono
102 slides
1.5K views
PDF
セーラーソン振り返り
by
Masafumi Terazono
53 slides
997 views
PDF
関西Nfc lab勉強会 宣伝
by
Masafumi Terazono
27 slides
931 views
PDF
関西支部 第二回 NFCLab勉強会
by
Masafumi Terazono
50 slides
1.1K views
PDF
日本Androidの会 中国支部資料
by
Masafumi Terazono
93 slides
4K views
PDF
Android+NFC 日本Androidの会神戸支部 勉強会
by
Masafumi Terazono
42 slides
2K views
PDF
関西支部Android勉強会(ロボットxnfc)
by
Masafumi Terazono
38 slides
1K views
PDF
関西Unity勉強会
by
Masafumi Terazono
59 slides
8.2K views
PDF
夜子まま塾講義12(broadcast reciever)
by
Masafumi Terazono
16 slides
1K views
PDF
夜子まま塾講義11(暗黙的intent)
by
Masafumi Terazono
19 slides
1.1K views
PDF
夜子まま塾講義10(画面の呼び出し)
by
Masafumi Terazono
43 slides
723 views
PDF
夜子まま塾講義9(androidの画面デザイン)
by
Masafumi Terazono
39 slides
6.5K views
マイクラシナリオメーカー(仮)の紹介をするワークショップのスライド version1.0
by
Masafumi Terazono
43 slides
39 views
Minecraft dayの報告
by
Masafumi Terazono
15 slides
1K views
BungeeCordeについて
by
Masafumi Terazono
37 slides
3.4K views
Spongeについて
by
Masafumi Terazono
35 slides
3.5K views
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
by
Masafumi Terazono
118 slides
3.9K views
夜子まま塾 2015年1月23日 進行用資料
by
Masafumi Terazono
27 slides
780 views
Thetalaps
by
Masafumi Terazono
11 slides
901 views
Android wear勉強会2
by
Masafumi Terazono
56 slides
7.2K views
夜子まま塾@鹿児島
by
Masafumi Terazono
102 slides
1.5K views
セーラーソン振り返り
by
Masafumi Terazono
53 slides
997 views
関西Nfc lab勉強会 宣伝
by
Masafumi Terazono
27 slides
931 views
関西支部 第二回 NFCLab勉強会
by
Masafumi Terazono
50 slides
1.1K views
日本Androidの会 中国支部資料
by
Masafumi Terazono
93 slides
4K views
Android+NFC 日本Androidの会神戸支部 勉強会
by
Masafumi Terazono
42 slides
2K views
関西支部Android勉強会(ロボットxnfc)
by
Masafumi Terazono
38 slides
1K views
関西Unity勉強会
by
Masafumi Terazono
59 slides
8.2K views
夜子まま塾講義12(broadcast reciever)
by
Masafumi Terazono
16 slides
1K views
夜子まま塾講義11(暗黙的intent)
by
Masafumi Terazono
19 slides
1.1K views
夜子まま塾講義10(画面の呼び出し)
by
Masafumi Terazono
43 slides
723 views
夜子まま塾講義9(androidの画面デザイン)
by
Masafumi Terazono
39 slides
6.5K views
Minecraftと連携するSlackちゃんという会話Botを作った話
1.
SlackMCを改造しておしゃべりチャットを するプラグインを 作ってみた話 第一回神戸マインクラフト勉強会 夜子まま
2.
自己紹介 • 名前: 寺園聖文
てらぞの まさふみ • ハンドルネーム: 夜子まま • 職業: Androidエンジニア、またはプログラミング講師 • マイクラ歴: 半年 • SNS: Twitter @yokmama とFacebookやってます
3.
話す内容 Minecraft内の生徒とコミュニケーションをとるために使っている Minecraft用Slackプラグインについてお話をします。
4.
さてSlackは知っていますか?
5.
Slackは結構便利なアプリなんですよ ???? ????
6.
どんなツールかというと • 招待制のチャットツール • いま開発者の中で最も注目されているチャットツール •
プラグイン開発が盛んで情報が多い • 見た目がかわいく使いやすい
7.
とはいっても最初からSlackを使って いたわけではありません。 なので、ちょっと尺を引っ張るため、 そこまでの経緯を説明します。 (大人の事情)
8.
dynmapプラグイン マインクラフトのマップを自動マッピング ゲーム中のプレイヤーをリアルタイムに表示 なんと、ブラウザ経由でゲーム内のユーザと 会話が可能!
9.
dynmapで不満に感じていたこと • 過去ログが残らない • テキストしか使えない •
SlackとDynmapと二つのチャットツールの運用は面倒くさい
10.
Minecraft用のSlackプラグインを探してみたが Bukkit Devはとても沢山のプラグインを見つけることができるサイトです。
11.
SlackMCというツール(v1.8.1に対応していた) Outgoing Webhooksに対応していないけど、 Bukkit 1.8.8でも動いたので使ってみることに。 ※検証は2016年4月頃の話なので、 現在はOutgoingにも対応しているかも しれません。
12.
SlackMC+Slack+Dynmap 次のような感じで使えるようになり、以前の問題が大分改善された Minecraft内へ話しかける Minecraft外へ話しかける
13.
しかし人の欲望は底知れぬもの・・・ Slackから会話したいん や!
14.
SlackMCのソースがある。 じゃぁ、修正してOutgoingが使えるようにしよう。 ないなら、 作りゃいいのさ
15.
豆知識:SlackAPIについて WebHook型で、Slackへ、もしくは SlackからというWebAPIが無料で 使える。 このアプリはチャンネル毎に設定 できるし無料プランだと10個まで 作れる。
16.
SlackMCのソースを取得 Pluginの配布先から、ソースコードのリポジトリを探し、 Gitなら git clone
で自分のPCにコピーする。 git clone https://github.com/CircuitSoftGroup/SlackMC.git
17.
IntelliJあるいはEclipseでプロジェクトを開く 大体は、MavenProjectなのでpom.xmlを読み込んでプロジェクトを開くことができます。
18.
BukkitPluginの基本 org.bukkit.plugin.java.JavaPluginを継承し onEnableをオーバーライドしてそこで初期化処理をする。 あとは、 public boolean onCommand(CommandSender
sender, Command cmd, String label, String[] args) をオーバーライドし、そこでMinecraftからのコマンドをフックして ごにょごにょするのが基本らしい。
19.
SlackのOutgoingWebHooksの基本 任意のサーバーを立てて、そこでHttpリクエストをListenするWebアプリを起動する、 OutgoingWebHooksにそのWebアプリのURLを設定し、 Webアプリでは、Outgoingから届いたHTTPリクエストを処理するとSlackのメッセージを 取り出すことができるこれをごにょごにょする。 OutgoingWebHooksからのリクエストには固定のトークンがはいっているので、 トークンをもとに、Slackから届いたメッセージかどうかを判断することはできる。
20.
Webアプリについて Webアプリから、BukkitAPIにアクセスをしないといけない、つまり、どいうことかというと 独自にWebサーバーを立てて、Webアプリを構築すると、Bukkitのサーバーと何らかの方法で お話をする仕組みをつくらないといけない。それは面倒くさい。 なので、BukkitPlugin内でWebServerを立てることにした。
21.
BukkitRunnableを継承するとBukkit内でスケジューリン グされ永続的に動くアプリが作れる。 public class SlackReceiveServer
extends BukkitRunnable { ...... @Override public void run() { if(server == null) { server = new Server(port); server.setHandler(new SlackReceiveHandler()); try { server.start(); server.join(); } catch (Exception e) { plugin.getLogger().log(Level.SEVERE, "Error in starting SlackMC server: " + e); } } } ..... } こいつがJettyServer
22.
これをスケジューラに登録する public class SlackBukkit
extends JavaPlugin implements Listener, SlackListener { ・・・ @Override public void onEnable() { ・・・ getServer().getScheduler().cancelTasks(this); slackReceiveServer = new SlackReceiveServer(this, listen_port); getServer().getScheduler().runTaskAsynchronously(this, slackReceiveServer); getSlackPluginApi().registerSender(this); } ・・・ } これに登録しておくと、 あとは、Bukkitがよしなにしてくれる
23.
あとはWebHook処理 public class SlackReceiveHandler
extends AbstractHandler { @Override public void handle(String target, ・・・) throws IOException, ServletException { if (request.getMethod().equals("POST")) { String[] texts = request.getParameter("text").split(":", 2); if(texts.length>1) { String channel_name = request.getParameter("channel_name"); String user_name = request.getParameter("user_name"); String token = request.getParameter("token"); String userName = texts[0]; String text = texts[1].trim(); if(userName.equals("mc") && token.equals(SlackBukkit.token)) { for (JavaPlugin plugin : getSlackPluginApi().getRegisteredPlugins()) { System.out.print("slack plugin name:"+plugin.getDescription().getName()); if (plugin instanceof SlackListener) { ((SlackListener) plugin).onSlackMessage(token, channel_name, user_name, text); break; ここらへんはうっかりポイント
24.
というわけで、Slackちゃん完成 Minecraft内へ話しかける Minecraft外へ話しかける
25.
???? ???? ???? ???? ????
26.
しかし人の欲望は底知れぬもの・・・ Botと会話したいんや!
27.
爆弾機能をいれていたのだけど、爆弾が爆発するまで何度もしゃ べる生徒をみていて、不憫に思うようになった。 ????
28.
爆弾機能とは? Minecraft内に誰もいない mc: だれか発言をする 爆弾のトリガーが発動ランダムでカウントダウンを開始 誰もいないのに発言をするとカウントアップ、誰かインすると爆弾は解除 カウント0:カウント内に喋った人全員が爆発に巻き込まれる。 という、いかにもCleeperみたいな機能
29.
これ ???? ???? ????
30.
しかし、爆発するまでこれしかしゃべらないのは芸がな い。
31.
というわけで、今流行りの会話BOTを導入 することにしてみた。 ???? ???? ???? ????
32.
過去に自分で作ったことがあるけど、 あまり出来が良かったわけでもないし、DOCOMOの雑談APIが よく出来ているらしいのでそれを使ってみることにした。
33.
DOCOMO雑談API これはある程度、形態素解析をして自然な会話ができるらしい。 形態素解析(けいたいそかいせき)とは、 自然言語を形態素(言語のもつ最小単位の言葉)に分割し、それぞれの品詞を判別する作業 要するに品詞が分かれば、名詞から何について話をしているのか、副詞や形容詞から感情や驚き 助動詞や疑問詞で、会話の流れを把握することができるだろう? という技術
34.
あ、これの使い方はこれを参考にしたので、 やり方は省きます。(白目) http://qiita.com/shanonim/items/f90ee13180ee70a1903d
35.
Bukkitで使う場合のハマりどころ MavenのLocalRepositoryを作って、そこにライブラリを入れてから、 pom.xmlにdocomo のライブラリを追加しておく必要があります。
36.
かくして、、 Slackちゃんは会話できるようになった。 ???? ???? ????
37.
以上 ありがとうございました。