12
プロジェクト(金岡グループ) Pythonによる開発 金岡 晃

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

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

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

プロジェクト(金岡グループ)Pythonによる開発金岡 晃

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

Pythonによる開発

2017/6/9 プロジェクト1

slackbotライブラリ

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

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

botkitを使うための初期化

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

Pythonによる開発

2017/6/9 プロジェクト2

slackbotライブラリ

slackbot_settings.pyの編集

API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

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

PLUGINS = [‘plugins’,

]

APIトークン

デフォルトのリプライ

teratermで作業

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

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

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

Pythonによる開発

2017/6/9 プロジェクト3

slackbotライブラリ

run.pyの編集

from slackbot.bot import Botdef main():

bot = Bot()bot.run()

if __name__ == "__main__":main()

teratermで作業

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

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

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

Pythonによる開発

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

slackbotライブラリ

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

teratermで作業

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

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

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

Pythonによる開発

2017/6/9 プロジェクト5

slackbotライブラリ

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

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

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

Pythonによる開発:簡単な例

2017/6/9 プロジェクト6

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 8: プロジェクト(金岡グループ) · Pythonによる開発 1 2017/6/9 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

Pythonによる開発:簡単な例

2017/6/9 プロジェクト7

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 9: プロジェクト(金岡グループ) · Pythonによる開発 1 2017/6/9 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

2017/6/9 プロジェクト8

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

Pythonによる開発:軽い応用

2017/6/9 プロジェクト9

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

やること

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

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

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

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

Pythonによる開発:軽い応用

2017/6/9 プロジェクト10

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 12: プロジェクト(金岡グループ) · Pythonによる開発 1 2017/6/9 プロジェクト slackbotライブラリ ボットが実行されるフォルダの設定を行う

2017/6/9 プロジェクト11