4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-04-24

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をダウンロード、インストールします。

④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を実行するために必要なもととなるプログラムを作成します。

完成イメージ
image1.png
image2.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
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?