2 min read

디스코드 한/일 번역봇 제작 과정기

일본인과 대화를 하기 위해 번역봇을 만들었다.

언어 선택은 C#으로 하였고 그 이유는 다음과 같다.

  1. 언어가 굉장히 이쁘다
  2. C#을 좀 더 잘쓰고 싶어서 이다.

이 간단한 이유로 C#으로 선택하였고 프레임워크는 Discord.Net을 사용하였다.

이 두가지의 스펙을 정하고 번역 API는 대표적이라고 말하는 구글 API 사용하였다.

만들고보니 두가지의 반응이 있었다.

  1. 다른 외국어도 번역이 되도록 만들어 달라
  2. 위 사진처럼 번역봇이 나빠 파파고로 만들어 달라

이 두가지의 요청이 있어.

코드 리팩토링을과 구글 API에서 파파고로 바꾸었다.

  1. 하드코딩 설정을 전부 환경설정으로 변경
  2. 구글 API에서 파파고 API로 변경
  3. 코드 기여를 하기 쉽게 모듈화

리팩토링 하면서 재미있는점은 Discord.net이 UnhandledException을 사용한다는 점이다.

이 말은 에러 출력되야 할 런타임 에러가 출력이 안된다. 덕분에 삽질을 많이 하였다.

Google API에서 papago API로 변경했을때 조금의 차이가 있었다.

Google API인 경우 아큐먼트에 tragetLanguage만 넣으면 언어탐지가 자동으로 된다는 점이다. 번역 봇이 제작의 매우 유용하였다.

하지만 파파고의 경우 번역에서 언어감지을 별도의 API을 사용한다는 점이다.

완성된 코드는 다음과 같다.

https://github.com/rinechran/kudryavkaDiscordBot

해당 봇을 사용하고 싶으시면 다음 링크를 사용하여 봇을 추가하면 된다.

또한 불편한점이나 개선점도 댓글로 적어주길 바란다.

https://discord.com/api/oauth2/authorize?client_id=732704984575246420&permissions=0&scope=bot

사용법은 다음과 같다.

~kj <하고싶은말> // 한국어 -> 일본어
~jk <하고싶은말 // 일본어 -> 한국어