변수명이나 함수명에 곤란했을 때에 도움이 되는 Slackbot를 만들었다

만든 것


codic "翻訳したい言葉"를 Slack에서 발언하면 번역 해주는 bot
파이썬 Slackbot 라이브러리와 codicAPI를 사용하여 만들었습니다.


Slackbot 라이브러리



Slackbot 라이브러리의 사용법은 아래를 참고로 했다.
Python의 slackbot 라이브러리로 Slack 봇 만들기
Python으로 Slackbot 만들기 (1)

codic



codic은 프로그래머 시스템 엔지니어를위한 명명 도구


유저 등록을 하면 프리 플랜에서도 100/h 리퀘스트를 하한으로 한다 API가 게시됨 그래서, 이쪽을 이용한다.

또 에디터나 IDE의 플러그인도 준비되어 있다.
(일부로 bot로 번역하지 않아도 플러그인을 이용하면 좋다)


구현



codic 액세스 토큰 얻기



사용자 등록 후 프로필에서 액세스 토큰을 얻을 수 있습니다.
이 페이지에서 API의 상태도 확인 가능.


코드



codic_translate.py
# -*- 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에서 번역을 발언합니다.

좋은 웹페이지 즐겨찾기