プロクラシスト

今日の寄り道 明日の近道

「働く言葉たち」をいつでも味わえるbotを社内slackに導入しました。


スポンサーリンク

こんにちは、ほけきよです。

皆さん、「働く言葉たち」を知っていますか?最近流行っていますよね。

www.hatakoto.jp

その意図するところはいまいちわかりませんが、これだけ広く認知されているということで、マーケティング的には成功なのでしょうか。正直よくわかりません。

いつでも味わいたい!

しかし、このページを見ていると

ほぉん、なるほど!

と思ったり

ほぉん、なるほど...

と思ったり、一文一文が味わい深いわけです。

こんな言葉を、働いているときにいつでも味わいたい! そう思い、働く言葉たちを返してくれるbotを作って、社内のslackにぶち込んでおきました。 Good bye 令和、Come back昭和。

会社のdevチームのスラックでは、helloと挨拶をすると挨拶代わりに働く言葉を返してくれます。

社員のみんながおもちゃに使ってくれて、マインドも醸成されています。とてもwin-winですね^^

f:id:imslotter:20190614163407p:plain
働き方改革

つくりかた

基本的なslack botの作り方に沿っただけなのですが、導入したい!という方もいらっしゃると思うので、ちょっとだけ技術的な説明を。 今回は、pythonslackbotというライブラリを使っています。

用意するもの

  • サーバー(slackbotを動かすコンピュータ。つねにbotを動かしておくなら24h稼働が望ましいが、python使えれば何でも良い、)
  • Python環境 : 用意してください。今回は3.7で作っています。下記ライブラリを使えるようにしておきましょう
    • bs4 (スクレイピング用のライブラリ)
    • slackbot (slackbotを動かすときのライブラリ)
  • git: あれば便利、私のコードそのまま使えます。

slack bot

まずは、既存slackにbotを追加していきます。下記ページから追加ができるようになっています。作りたいワークスペースにアクセスし、↓に飛びましょう。

https://my.slack.com/services/new/bot

f:id:imslotter:20190614174119p:plain

botの名前を決めたら、TOKENというのが出てきます。これをコピーするなりして保存しておいてください。

f:id:imslotter:20190614174225p:plain

slackbotの設定

コードはgithubリポジトリに上げています

github.com

なお、作り方はこちらの記事を参考にしました

qiita.com

フォルダごとcloneして使ってください。変えるのは、slackbot_settingsAPI_TOKENのところです。 ここに、先程保管しておいたAPIを書き込みます。

# coding: utf-8

# botアカウントのトークンを指定。ここを変える!
API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

# bot宛メッセージの例外対応
DEFAULT_REPLY = "HELLO, SOMETHING WRONG"

# プラグイン。この中に呼びかけた後の反応などを書く
PLUGINS = ['plugins']

python run.py を、ライブラリを用意した環境下で動かすとOKです。

呼びかけた後の反応を書く

どうやって取ってきているのかは非常に簡単で、当該ページからスクレイピングをして、テキストを返しているだけです。

my_mentionsの中身に書かれています。

# coding: utf-8
from slackbot.bot import respond_to     # @botname: で反応するデコーダ
from slackbot.bot import listen_to      # チャネル内発言で反応するデコーダ
from slackbot.bot import default_reply  # 該当する応答がない場合に反応するデコーダ

from bs4 import BeautifulSoup
try:
    from urllib2 import urlopen
except:
    from  urllib.request import urlopen

def FetchWorkingWord():
    #url
    url = "https://www.hatakoto.jp/"
    #get html
    html = urlopen(url)
    soup = BeautifulSoup(html, "html.parser")
    text = "\n"
    text += soup.find(attrs=["class_","chinContent vertical"]).text
    text += "\n\n"+soup.find(attrs=["class_","chinMsg vertical"]).text
    return text

@respond_to('hello')
def reply_hello(message):
    text = FetchWorkingWord()
    message.reply(text) 

これで、話しかけるたびに「働く言葉たち」をピックアップして、返してくれます。

まとめ

みなさんも、適当なサーバーを立てて社内slackにぶちこんでみてはいかがでしょう? なかなか味わい深い文章を出力してくれますよ。ある意味元気が出ます

定期的に垂れ流して、「働く言葉たち」についたリアクション数をカウントして、その会社の"""社風"""を分析する。なんてやってくれる人いないですか?我が社はまだ社員が多くないのでサンプルが集まらなさそうです。

今回は出来心で作りましたが、slackbotはとても自由度が高く強力なツールです。使い方で社内コミュニケーションの活発化にも繋がります。みなさんも是非使ってみてください。ではではっ

PROCRASIST