こんにちは、ほけきよです。
皆さん、「働く言葉たち」を知っていますか?最近流行っていますよね。
その意図するところはいまいちわかりませんが、これだけ広く認知されているということで、マーケティング的には成功なのでしょうか。正直よくわかりません。
いつでも味わいたい!
しかし、このページを見ていると
ほぉん、なるほど!
と思ったり
ほぉん、なるほど...
と思ったり、一文一文が味わい深いわけです。
こんな言葉を、働いているときにいつでも味わいたい! そう思い、働く言葉たちを返してくれるbotを作って、社内のslackにぶち込んでおきました。 Good bye 令和、Come back昭和。
会社のdevチームのスラックでは、helloと挨拶をすると挨拶代わりに働く言葉を返してくれます。
「働く言葉たち」を味わいたいときに味わえるbotを社内スラックにぶち込んでおきました。働き方改革です😏 pic.twitter.com/m5ArfcScfj
— ほけきよ (@hokekiyoo) June 14, 2019
社員のみんながおもちゃに使ってくれて、マインドも醸成されています。とてもwin-winですね^^
つくりかた
基本的なslack botの作り方に沿っただけなのですが、導入したい!という方もいらっしゃると思うので、ちょっとだけ技術的な説明を。
今回は、pythonのslackbot
というライブラリを使っています。
用意するもの
- サーバー(slackbotを動かすコンピュータ。つねにbotを動かしておくなら24h稼働が望ましいが、python使えれば何でも良い、)
- Python環境 : 用意してください。今回は3.7で作っています。下記ライブラリを使えるようにしておきましょう
- bs4 (スクレイピング用のライブラリ)
- slackbot (slackbotを動かすときのライブラリ)
- git: あれば便利、私のコードそのまま使えます。
slack bot
まずは、既存slackにbotを追加していきます。下記ページから追加ができるようになっています。作りたいワークスペースにアクセスし、↓に飛びましょう。
https://my.slack.com/services/new/bot
botの名前を決めたら、TOKENというのが出てきます。これをコピーするなりして保存しておいてください。
slackbotの設定
なお、作り方はこちらの記事を参考にしました
フォルダごとcloneして使ってください。変えるのは、slackbot_settings
のAPI_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はとても自由度が高く強力なツールです。使い方で社内コミュニケーションの活発化にも繋がります。みなさんも是非使ってみてください。ではではっ