プロジェクト(金岡グループ) · pythonによる開発 45 2017/4/14 プロジェクト...

61
プロジェクト(金岡グループ) 22017414金岡 晃

Upload: others

Post on 19-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

プロジェクト(金岡グループ)第2回2017年4月14日 金岡 晃

Page 2: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

金岡プロジェクトテーマ

配布資料より

テーマC 独自チャットボット作成

コミュニケーションツールSlack上で動き回るチャットボットシステムを作成する。シェルスクリプトやJavaScriptなどのスクリプト言語と、外部APIやデータセットの活用により、チームごとに特色のあるチャットボットの実現を試みる。

技術要素

なんらかの言語を使ったプログラミング

外部リソースの活用

HTTPによるアクセス

2017/4/14 プロジェクト1

Page 3: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Slackとは

Slack(スラック)

コミュニケーションツール。グループでのチャットを中心として、ユーザ間のダイレクトメッセージやトピックごとのチャットなどが可能なWebサービス

https://slack.com/

類似・近いサービス?

2017/4/14 プロジェクト2

Page 4: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

スケジュール

内容

第1回(4月7日) プロジェクトの概要説明、基礎知識の学習(1)

第2回(4月14日) 基礎知識の学習(2)、Botデザイン

第3回(4月21日) Botデザインまとめ、発表

第4回(4月28日) 開発(1)

第5回(5月12日) 開発(2)

第6回(5月19日) 開発(3)

第7回(5月26日) 成果発表会

2017/4/14 プロジェクト3

Page 5: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

チャットボット

2017/4/14 プロジェクト4

ボット

チャット上でユーザとして参加してくるボット(プログラム)を作ることができる

プログラムのこと。特に人間に代わって作業を行うものを指すことが多い。マルウェアの用語としての一面も持つ。SiriやContanaもボットの一種

Page 6: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

簡単なボットならすぐできる

2017/4/14 プロジェクト5

Slackbotへの登録

Page 7: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

簡単なボットならすぐできる

2017/4/14 プロジェクト6

Page 8: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

本格的にボットを作る前に

2017/4/14 プロジェクト7

Page 9: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットプログラム実行用の環境

• 金岡研究室内のサーバを利用

– 各種環境での実行が可能なようにしてある

• グループごとにアカウントを作成してあります

– グループでアカウントを共有してください

– 初期パスワードを配ります

– パスワードは変更してください

• sshでアクセス

– TeraTermを使う

– コマンドの実行などはこれで

• scpでアクセス

– WinSCPを使う

– ローカル(実習室で使っているPCや自宅PCなど)で作ったファイルをサーバに送る

2017/4/14 プロジェクト8

Page 10: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

サーバ用アカウント命名規則

2017/4/14 プロジェクト9

g201711

年度

学期1:春学期前半2:春学期後半3:秋学期前半4:秋学期後半

グループ番号

Page 11: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

チーム編成とアカウント名

学番 氏名

5515037國上 寛規

5515051坂井 大騎

5516076中山 晃希

5516084羽田 大弥

学番 氏名

5515038倉本 奈々

5515045古山 祐輝

5516062高山 裕介

5516065田中 亜実

学番 氏名

5515026柏木 伸夫

5515041桑名 健史

5516066田辺 瑞貴

5516088陳 沢広

学番 氏名

5515027加瀬 貴士

5515055佐藤 誠人

5516061高安 真由

5516068寉岡 昂佑

5516074中田 美花

学番 氏名

5515025笠原 康平

5515044古山 貴大

5516071戸沢 元紀

5516072富山 麟太郎

5516077中山 道裕

学番 氏名

5515035北爪 みづほ

5515054佐藤 弘毅

5516069戸井 成美

5516070都倉 誠

5516078長岡 亜理沙

学番 氏名

5515028片岡 敬済

5515036工藤 慶明

5516060高松 晃希

5516079長沼 慶弥

5516080鍋谷 佑

グループ1 グループ3 グループ5 グループ7

グループ2 グループ4 グループ6

2017/4/7 プロジェクト10

g201711

g201712

g201713

g201714

g201715 g201717

g201716

Page 12: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

アクセスしてみよう

2017/4/14 プロジェクト11

avocado.klab.is.sci.toho-u.ac.jp

teratermとWinSCPの両方で

Page 13: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

TereTerm

2017/4/14 プロジェクト12

Page 14: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

TereTerm

2017/4/14 プロジェクト13

Page 15: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

TereTerm

2017/4/14 プロジェクト14

Page 16: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

WinSCP

2017/4/14 プロジェクト15

Page 17: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

WinSCP

2017/4/14 プロジェクト16

左側が自分のマシン 右側がサーバ

Page 18: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

本格的にボットを作る

2017/4/14 プロジェクト17

Page 19: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの開発

2017/4/14 プロジェクト18

JavaScriptによる開発

Botkitフレームワークの利用

Pythonによる開発

slackbotライブラリの利用

CoffeeScriptによる開発

Hubotフレームワークの利用

Javaによる開発

JBotフレームワークの利用

Page 20: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

共通する事項

2017/4/14 プロジェクト19

slackへの登録

• slackにBotを登録し、APIトークンを取得する• 複数のBotを作る場合、複数のAPIトークンを取得する

Page 21: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト20

このマークをクリック

Page 22: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト21

Page 23: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト22

“Apps & integrations”をクリック

Page 24: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト23

“Manage”をクリック

Page 25: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト24

“Custom Integrations”をクリック

Page 26: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト25

“Bots”をクリック

Page 27: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト26

“Bots”をクリック

Page 28: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト27

“Add Configuration”をクリック

Page 29: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト28

Slackチーム内で表示されるユーザ名

Page 30: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト29

“Add bot integration”をクリック

Page 31: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト30

Page 32: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ボットの登録、APIトークンの取得

2017/4/7 プロジェクト31

これがAPIトークン。これを別のファイル(テキストなど)に保管しておく。

Page 33: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発

2017/4/14 プロジェクト32

Botkitフレームワーク

ボットが実行されるフォルダの設定を行う(teratermによるサーバ上の作業)

• 実施コマンド• mkdir <フォルダ名>• cd <フォルダ名>• npm init• npm install botkit --save

mkdirでフォルダを新規に作成して、cdでそのフォルダに移動

botkitを使うための初期化

Page 34: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発

2017/4/14 プロジェクト33

Botkitフレームワーク

ボット本体の作成(ローカル<実習室PC、自宅PC>での作業)

ファイル名はかならず”index.js”とすること

JavaScript言語

Page 35: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発

2017/4/14 プロジェクト34

Botkitフレームワーク

ボット本体のサーバへのアップロード(ローカル<実習室PC、自宅PC>での作業)

• WinSCPを立ち上げてサーバ(avocado)に接続• さきほど作成したフォルダにindex.jsをアップロード

Page 36: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発

2017/4/14 プロジェクト35

Botkitフレームワーク

ボットの実行( teratermによるサーバ上の作業)

• 実施コマンド• token=<APIトークン> node index.js

Page 37: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:簡単な例

2017/4/14 プロジェクト36

ボットが実行されるフォルダの設定を行う(teratermによるサーバ上の作業)

• 実施コマンド• mkdir testbot01• cd testbot01• npm init• npm install botkit --save

Page 38: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:簡単な例

2017/4/14 プロジェクト37

ボット本体の作成(ローカル<実習室PC、自宅PC>での作業)

const Botkit = require('botkit');

if (!process.env.token) {console.log('Error: Specify token in environment');process.exit(1);

}

const controller = Botkit.slackbot({debug: false

});

controller.spawn({token: process.env.token

}).startRTM(function(err){if (err) {

throw new Error(err);}

});

// say hicontroller.hears('hi',['direct_message','direct_mention','mention'],function(bot,message) {

bot.reply(message,'hi');});

Page 39: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:簡単な例

2017/4/14 プロジェクト38

ボット本体の作成(ローカル<実習室PC、自宅PC>での作業)

const Botkit = require('botkit');

if (!process.env.token) {console.log('Error: Specify token in environment');process.exit(1);

}

const controller = Botkit.slackbot({debug: false

});

controller.spawn({token: process.env.token

}).startRTM(function(err){if (err) {

throw new Error(err);}

});

// say hicontroller.hears('hi',['direct_message','direct_mention','mention'],function(bot,message) {

bot.reply(message,'hi');});

DMや言及(@ユーザ名 を付けてつぶやく)したときに、そのつぶやきが「hi」だったら、「hi」と返す

Page 40: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:簡単な例

2017/4/14 プロジェクト39

Botkitフレームワーク

ボットの実行( teratermによるサーバ上の作業)

• 実施コマンド• token=xoxb-169493700566-7ev2Ze5xZJPeqHe0GbevIUJ6 node index.js

Page 41: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:簡単な例

2017/4/14 プロジェクト40

Page 42: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:軽い応用

2017/4/14 プロジェクト41

何かBotあてにつぶやかれたら、登録してある複数の文言からランダムに選択して返信する

やること

• 複数文言を登録してあるテキストファイル(1行に1文言)を用意

• テキストファイルの行数を読み込み、何行目を呼び出すかをランダムに決める

• 決められた行の文言をメッセージとして返す

Page 43: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:軽い応用

2017/4/14 プロジェクト42

const Botkit = require('botkit');

if (!process.env.token) {

console.log('Error: Specify token in environment');

process.exit(1);

}

const controller = Botkit.slackbot({

debug: false

});

controller.spawn({

token: process.env.token

}).startRTM(function(err){

if (err) {

throw new Error(err);

}

});

index.js(前半)

さっきのと同じ

Page 44: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

JavaScriptによる開発:軽い応用

2017/4/14 プロジェクト43

// say hi

controller.hears('',['direct_message','direct_mention','mention'],function(bot,mess

age) {

var fs = require('fs');

var contents = fs.readFileSync('comments.txt');

var lines = contents.toString().split('¥n').length -1;

var num = Math.floor(Math.random()*lines);

var dat = '';

var lnum = 0;

fs.readFileSync('comments.txt').toString().split('¥n').forEach(function (line){

if(lnum==num)dat=line;

lnum++;

});

bot.reply(message,dat);

});

index.js(後半)どのメッセージでも反応する

文言ファイル(comments.txt)を開く

行数をカウント

レスする文言をランダムに選ぶ

その行をレスする

Page 45: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

2017/4/14 プロジェクト44

Page 46: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発

2017/4/14 プロジェクト45

slackbotライブラリ

ボットが実行されるフォルダの設定を行う(teratermによるサーバ上の作業)

• 実施コマンド• mkdir <フォルダ名>• cd <フォルダ名>• touch slackbot_settings.py• touch run.py• mkdir plugins• touch plugins/__init__.py

botkitを使うための初期化

Page 47: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発

2017/4/14 プロジェクト46

slackbotライブラリ

slackbot_settings.pyの編集

API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

default_reply = “I could not understand that...“

PLUGINS = [‘plugins’,

]

APIトークン

デフォルトのリプライ

teratermで作業

ローカルで作成してWinSCPでアップロード

ボットが実行されるフォルダ

Page 48: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発

2017/4/14 プロジェクト47

slackbotライブラリ

run.pyの編集

from slackbot.bot import Botdef main():

bot = Bot()bot.run()

if __name__ == "__main__":main()

teratermで作業

ローカルで作成してWinSCPでアップロード

ボットが実行されるフォルダ

Page 49: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発

2017/4/14 プロジェクト48

slackbotライブラリ

好きなファイル(***.py)の編集

teratermで作業

ローカルで作成してWinSCPでアップロード

ボットが実行されるフォルダの下のpluginフォルダ

Page 50: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発

2017/4/14 プロジェクト49

slackbotライブラリ

ボットの実行( teratermによるサーバ上の作業)

• 実施コマンド• python run.py

Page 51: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発:簡単な例

2017/4/14 プロジェクト50

slackbotライブラリ

mention.pyの編集

from slackbot.bot import respond_to

@respond_to('tired')@respond_to('zzz')def cheer(message):

message.reply('You can make it!')

teratermで作業

ローカルで作成してWinSCPでアップロード

ボットが実行されるフォルダの下のpluginフォルダ

“tired”か”zzz”をボット宛につぶやくと反応する

“You can make it!”とレスする

Page 52: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発:簡単な例

2017/4/14 プロジェクト51

slackbotライブラリ

mention.pyの編集

from slackbot.bot import respond_to

@respond_to('tired')@respond_to('zzz')def cheer(message):

message.reply('You can make it!')

teratermで作業

ローカルで作成してWinSCPでアップロード

ボットが実行されるフォルダの下のpluginフォルダ

“tired”か”zzz”をボット宛につぶやくと反応する

“You can make it!”とレスする

Page 53: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

2017/4/14 プロジェクト52

Page 54: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発:軽い応用

2017/4/14 プロジェクト53

何かBotあてにつぶやかれたら、登録してある複数の文言からランダムに選択して返信する

やること

• 複数文言を登録してあるテキストファイル(1行に1文言)を用意

• テキストファイルの行数を読み込み、何行目を呼び出すかをランダムに決める

• 決められた行の文言をメッセージとして返す

Page 55: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発:軽い応用

2017/4/14 プロジェクト54

from slackbot.bot import respond_to

@respond_to('wei')

def getrandcomment(message):

import random

f = open('comments.txt','r')

list = f.readlines()

num = len(list)

randnum = random.randint(0,num-1)

message.reply(list[randnum])

randomcom.py

“wei”というメッセージに反応する

文言ファイル(comments.txt)を開く

行数をカウント

レスする文言をランダムに選んで、その行をレスする

Page 56: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

2017/4/14 プロジェクト55

Page 57: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

そのほか:Hubot、JBot

2017/4/14 プロジェクト56

環境としては準備できてるけど資料準備間に合わず…あとでアップロードします

Page 58: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Botデザイン:考える点

2017/4/14 プロジェクト57

どんな目的で、どんな機能を持たせるか

• 目的• 機能

• こういう入力があったらこう返す• 「こう」に特徴がある場合はそう返す• **時**分になったらこう返す• その他のトリガ

機能はどういう技術要素で持たせるか

• DB(MySQL)を使って…• クラウドサービスを使って画像なんかを取得して…• Wikipediaからその項目を検索して…• 得られたデータから**を**して…

Page 59: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Botデザイン:考える点

2017/4/14 プロジェクト58

完成イメージ

• ボット名称• 動作イメージ

作業項目とメンバー割り当て、線表

Page 60: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

次回のプレゼンについて

2017/4/14 プロジェクト59

Botデザインで検討した項目を解説

• 目的、実装する機能• 機能実現のための技術要素• 完成イメージ• 作業項目、割り当て、線表

グループあたりの持ち時間

• 10分

Page 61: プロジェクト(金岡グループ) · Pythonによる開発 45 2017/4/14 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

ポイントとなりそうな要素技術

• 外部のリソースの利用

– 外部APIの利用

– 外部データベースの利用

• 他のライブラリの利用

• 正規表現

2017/4/14 プロジェクト60