• 検索結果がありません。

金 岡 プ ロ ジ ェ ク ト

N/A
N/A
Protected

Academic year: 2021

シェア "金 岡 プ ロ ジ ェ ク ト"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

金 岡 プ ロ ジ ェ ク ト

3 班

5 5 1 6 0 0 7

新 垣 李 奈

5 5 1 6 0 1 7

氏 家 か す み

5 5 1 6 0 2 2

大 下 佑 衣

5 5 1 7 0 8 2

平 井 孝 志

5 5 1 7 0 9 7

山 口 千 尋

(2)

目的

・一人暮らしの学生が自立できるようにサポートするお母さん

bot

を作成

実装する機能

・時間を取得して平日毎朝7時起こしてくれる

・「おはよう」と入力

→天気予報を取得し教えてくれる

・スケジュール帳のデータを取得し毎朝7時台に教えてくれる

(Google

カレンダーと連携)

・話しかけるとランダムで小言

(

アドバイス

)

をする

・特定のメッセージに特定の返しをする

(3)

機能実現のための技術要素

Python

で作成

cron

の設定

・お母さんからのアドバイス・小言リスト作成

Google

カレンダーのデータ作成

(4)

完成図①

(5)

完成図②

(6)

ソースコードの説明

*平日毎朝7時起こしてくれる機能

(crontest.py)

準備:

SlackAPI

の中の

”IncomingWebHook”

でメッセージを送信するチャンネルの

URL

を取得

送信したいメッセージを指定

payload = {'text':'

朝よ!起きなさい!

’}

取得した

URL

でポスト先を指定

requests.post(‘https://hooks.slack.com/services/TB50SNV3R/BBL164A2H/fbf1SnGj9UPfa

RXjuA3fh2tO’,data=json.dumps(payload))

(7)

ソースコードの説明

*平日毎朝7時起こしてくれる機能

(cron

の設定

)

分 時 日 月 曜日

python

実行したいデータの場所

⇒今回は月曜~金曜の朝 7

時にデータを実行

(8)

ソースコードの説明

*「おはよう」⇒天気予報

(mention.py)

・“おはよう“というメッセージに対して反応する

@respond_to('(.*

おはよう

.*)'.decode('utf-8’))

def confirm_today_weather(message, something):

weather_class = ConfirmWeather()

weather_class.return_today_weather(message)

※ここでは反応する機能のみ記述

(9)

ソースコードの説明

*「おはよう」⇒天気予報

(confirm_weather.py)

・天気を取得するコードが書かれている場所のパスを取得

script_dir = os.path.abspath(os.path.dirname(__file__))

cmd = os.path.join(script_dir,"confirm_today_weather.sh")

・同じディレクトリに置いたシェルスクリプトの実行結果を

commands

モジュールの

getoutput

メソッドを使って変数

weather_info

に格納

weather_info = commands.getoutput(cmd)

slack

POST

する

message.send("

おはよう!今日の天気予報を送るわね

") message.send(weather_info)

confirm_today_weather.sh ⇒引用したコマンドで天気を取得

(10)

ソースコードの説明

*予定を毎朝通知

→ Google

のスプレッドシートでスクリプトを作成

→ Google

カレンダーを作成する

getCalendarById

メソッドでマイカレンダーを取得

getEventsForDay

メソッドで指定した日時の予定項目を変数

events

に格納

・ユーティリティメソッドを使って日付や時刻を文字列に変換

s += Utilities.formatDate(events[i].getStartTime(),"GMT+0900","MM/dd ");

・ここでも

”IncomingWebHook”

で取得した

URL

で送信先のチャンネルを指定して

POST

・プロジェクトのトリガー設定で通知時刻を設定

(11)

ソースコードの説明

*お母さんからのアドバイス・小言

(randomcom.py ,comments.txt)

①「お母さん」と話しかけるとランダムに返答

⇒授業用スライドのランダムな返答の例をそのまま使用

返答パターンは

30

パターン

(12)

ソースコードの説明

*お母さんからのアドバイス・小言

(kogoto1.py

など

)

②特定のメッセージに対して特定の返答

@respond_to('ねむい'.decode('utf-8')) def cheer(message):

message.reply(‘ちゃんと寝ないとだめよ’)

また、画像付きのメッセージも作成

・画像のタイトルとURLを指定

@respond_to('猫は元気?'.decode('utf-8')) def upload_slack_image(message):

message.reply_webapi('元気よー', attachments=[{

"fields": [ { "title": "happy!" } ],

"image_url": "https://pbs.twimg.com/media/Dh-SHa6UYAEh-ej.jpg:large"}])

⇒画像なし32パターン、画像あり5パターン作成

(13)

作業項目割り当て

6月29日 7月6日 7月13日

新垣 ソースプログラム作成 ソースプログラム作成

情報リストの作成 動作確認・修正作業 氏家 ソースプログラム作成 ソースプログラム作成

情報リストの作成 動作確認・修正作業 大下 ソースプログラム作成 ソースプログラム作成

情報リストの作成 統合作業 発表用

PP

作成 平井 小言リスト作成

(

写真収集

)

ソースプログラム作成 動作確認・修正作業 山口 小言リスト作成

(

写真収集

)

ソースプログラム作成 動作確認・修正作業

(14)

工夫した点

・お母さんからの小言を

①「お母さん」と話しかけたらランダムな返答が来るもの

②お母さんに話しかけたら特定の返答がくるもの の2パターン作成した。

・お母さんからの小言に画像を添付した。

(15)

反省点

Bot

側からランダムに話しかけてくる機能を実装することがで きなかった。

・天気予報を見てアドバイスをする機能を実装することができな かった。

・調べながら既存のプログラムを理解し利用するのが難しく思っ たよりスムーズに進まない部分も多くあったが、とても勉強に なった。

(16)

デモプレイ

参照

関連したドキュメント

問13 あなたの職種を教えてください? 

活用することとともに,デメリットを克服することが不可欠となるが,メ

日本への輸入 作成日から 12 か月 作成日から 12 か月 英国への輸出 作成日から2年 作成日から 12 か月.

日本への輸入 作成日から 12 か月 作成日から 12 か月 英国への輸出 作成日から2年 作成日から 12 か月.

全てに導入 大半に導入 半分に導入 一部に導入 導入無し 冷却塔無し. 全てに導入 大半に導入 半分に導入 一部に導入

国際地域理解入門B 国際学入門 日本経済基礎 Japanese Economy 基礎演習A 基礎演習B 国際移民論 研究演習Ⅰ 研究演習Ⅱ 卒業論文

靴下加工班 受託作業 靴下・テーブルソックス表返し作業、ダンボール回収 野菜班 自主作業 野菜の栽培・収穫.. 受託作業