PythonインストールとSlack bot実行の備忘録

# Pythonインストール
Slackbotを構築したときの備忘録です。
参考にしたサイトをまとめただけなので、かなり見にくいです。
大変申し訳ございません。
参考にさせていただいたサイトの作成者様には大変感謝しております。

## ①下記サイトからPythonをダウンロードします。
※バージョンは、3.6.Xを選択してください。
理由は、pyinstallerを利用するために、3.7.Xが非対応だからです。
https://www.python.org/downloads/windows/

## ②ダウンロードしたexeを実行してインストールしてください。
この時、インストールされるフォルダをメモしてください。
インストール後、環境変数にインストールフォルダのpathを追加します。
[参考サイト]
https://www.javadrive.jp/python/install/index3.html#section1


## ③下記サイトからVScodeをダウンロード、インストールします。
https://code.visualstudio.com

## ④VScodeにpythonの設定
インストールが完了したら、VScodeを実行し、拡張機能(右側の四角いアイコン)→テキストボックスに'python'と入力→1番上にpythonが出てくるので、install
[参考サイト]
下記サイトの下の方の図
https://www.atmarkit.co.jp/ait/spv/1805/22/news043.html

## ⑤動作確認。
エディタに
``print "Hello world!"``
と入力して、F5キーで実行。
画面下部のターミナルに
Hello world!
と表示されれば成功してます！

# Slackのアカウント作成
## ①下記のページ参考にSlackのアカウント作成！
<https://get.slack.help/hc/ja/articles/212675257-Slack-ワークスペースに参加する>

## ②botアカウントを作成します。
下記サイトでbotアカウントを作成してください。
https://my.slack.com/services/new/bot

## ③アカウントを作成したら、API Tokenをメモしてください。
後で使います。
[参考サイト]
https://qiita.com/Hironsan/items/0373339388f460cebb08

# Slack botの導入、実行
## ①slackbotインストール
VScodeのターミナルに、
``pip3 install slackbot``
と入力し、slackbotのインストールをします。
※1 プロキシのあるネットワークで実行する場合、
``pip3 install slackbot --proxy http://プロキシのURL:ポート``
となります。

## ②slackbotを実行するために必要なもととなるプログラムを作成します。
完成イメージ
<img width="458" alt="image1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/374573/40d8ca57-3ea2-c46d-dda0-e4748d18fa85.png">
<img width="458" alt="image2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/374573/0dbc15f4-cc29-da63-2f09-fa9b5af4e592.png">


- 「slackbot」　フォルダを作成してください。（場所は任意です）
- 「slackbot」直下に、"run.py"ファイルを作成してください。

"run.py"の中身

```
from slackbot.bot import Bot

def main():
    bot = Bot()
    bot.run()

if __name__ == "__main__":
    print('start slackbot')
    main()
```
- 「slackbot」直下に、"slackbot_settings.py"ファイルを作成してください。

"slackbot_settings.py"の中身

```
# coding: utf-8

API_TOKEN = "botアカウントのトークンを指定"

# プラグインスクリプトを置いてあるサブディレクトリ名のリスト
PLUGINS = ['plugins']
```

- 「slackbot」直下に、「plugins」フォルダを作成してください。
- 「plugins」直下に、"my_mention.py"ファイルを作成してください。

"my_mention.py"の中身

```
# coding: utf-8

from slackbot.bot import respond_to     
from slackbot.bot import listen_to      
from slackbot.bot import default_reply  

@respond_to('こんにちは')
def mention_func(message):
    message.reply('これはテスト返信です') # メンション返信
```
- 「plugins」直下に、
``__init__.py``ファイルを作成してください。中身は空です。

[参考サイト]
https://qiita.com/sukesuke/items/1ac92251def87357fdf6


## ③Slackbotの実行
VScodeで"run.py"を開いてください。
その画面でF5キーを押すとSlack botが実行されます。

# プロキシありのネットワークの場合
## ①Slack botがプロキシが抜けられる状態にする必要があります。
各自でpythonをインストールしたフォルダの「slackbot」フォルダ直下にある、
"slackclient.py"を開いてください。

例

```
"C:\Users\takumako\AppData\Local\Programs\Python\Python36\Lib\site-packages\slackbot\slackclient.py"
```
## ②下記のように、プロキシ設定を追記してください。

```
from __future__ import print_function, absolute_import
import os
os.environ['http_proxy'] = 'プロキシのURL:ポート'
os.environ['https_proxy'] = 'プロキシのURL:ポート'
import json
import logging
import time
from ssl import SSLError
```
この時、http://は省略してください。

例

```
from __future__ import print_function, absolute_import
import os
os.environ['http_proxy'] = 'proxy1.jp.takumako.com:3128'
os.environ['https_proxy'] = 'proxy1.jp.takumako.com:3128'
import json
import logging
import time
from ssl import SSLError
```