つくったもの
codic "翻訳したい言葉"
をSlackで発言すると翻訳してくれるbotを
PythonのSlackbotライブラリとcodicAPIを使用して作成した。
Slackbotライブラリ
Slackbotライブラリの使い方は下記を参考にした。
PythonのslackbotライブラリでSlackボットを作る
PythonでSlackbotを作る(1)
codic
codicは、プログラマー・システムエンジニアのためのネーミングツール
ユーザー登録をするとフリープランでも100/hリクエストを下限とするAPIが公開されているので、こちらを利用する。
またエディタやIDEのプラグインも用意されている。
(わざわざbotに翻訳してもらわなくてもプラグインを利用すればいい)
実装
codicのアクセストークンを取得する
ユーザー登録後、プロフィールからアクセストークンの取得ができる。
こちらのページからAPIのステータスも確認可能。
コード
# -*- coding: utf-8 -*-
from slackbot.bot import listen_to
import requests
@listen_to(r'^codic\s+\S.*')
def codic_translate(message):
text = message.body['text']
temp, word = text.split(None, 1)
codicURL = 'https://api.codic.jp/v1/engine/translate.json?text={}&casing=lower+underscore'.format(word)
headers = {
'Authorization': 'codicのアクセストークン',
}
r = requests.get(codicURL,headers=headers)
codic_response = r.json()
message.send('"' + word + '"をcodicで翻訳すると')
message.send(codic_response[0]['translated_text'])
"翻訳したい言葉"をSlackの発言から受け取る
listen_to(r'^codic\s+\S.*')
def codic_translate(message):
text = message.body['text']
temp, word = text.split(None, 1)
codic "翻訳したい言葉"という形式の発言があった場合に、
"翻訳したい言葉"をword
に代入する
codicAPIから翻訳を受け取る
codicURL = 'https://api.codic.jp/v1/engine/translate.json?text={}&casing=lower+underscore'.format(word)
headers = {
'Authorization': 'codicのアクセストークン',
}
r = requests.get(codicURL,headers=headers)
codicAPIのtextとしてword
を投げると翻訳を受け取ることができる。
casingでcamel
,pascal
,lower underscore
,upper underscore
, hyphen
を選択することも可能
codic_response = r.json()
message.send('"' + word + '"をcodicで翻訳すると')
message.send(codic_response[0]['translated_text'])
Slack上で翻訳を発言する。