仕事で外国語の文章を読むことがあり、たまに面倒くさくなってGoogleTranslateを使うことがある。そこでSlackで自動翻訳してくれるものを作った。
仕様
シンプルに
- 元言語と翻訳言語の両方を選択できる
- bot名の後に元言語と翻訳言語を指定した後、翻訳したい言語を入力する。
- 翻訳された文章が返ってくる。
使うサービス
- Google App Script
- Slack(Outgoing Webhooks)
ソースコード
基本設定などはこちらを参照のこと
function doPost(e) {
Logger.log(e);
var token = PropertiesService.getScriptProperties().getProperty('SLACK_ACCESS_TOKEN');
var bot_name = "Translator Amanda";
var bot_icon = "http://cdn.movieweb.com/img.news/NE7gJxmYw4Z2ae_1_1.jpg";
var verify_token = "**********"
if (verify_token != e.parameter.token) {
throw new Error("invalid token.");
};
var app = SlackApp.create(token);
var body = e.parameter.text.substr(8);
var original_lan = body.substr(0,2);
var convert_lan = body.substr(3,2);
var message = body.substr(6);
var message = LanguageApp.translate(message, original_lan, convert_lan);
return app.postMessage("#test", message, {
username: bot_name,
icon_url: bot_icon
});
}
今後したいこと
- 調べたい単語の意味をネット上から拾ってきてくれるBot
- 言語を指定しなければデフォルトで英語=>日本語で翻訳してくれるAmandaさん。(正規表現を使う)