디스코드 번역 봇 만들기

2026. 5. 18. 17:02·봇 개발 팁/Discord.py

해외 유저가 질문을 던졌는데 운영진이 매번 브라우저 번역기와 디스코드를 왔다 갔다 하고 있다면, 대화는 이미 한 템포 늦어지고 있는 겁니다.

번역 봇의 역할은 AI 데모를 보여 주는 것이 아니라 다국어 서버에서 응답 속도를 늦추지 않는 보조 레이어를 만드는 데 있습니다.

이 글에서는 슬래시 명령어로 문장을 입력받아 OpenAI API로 한국어 또는 영어 번역 결과를 돌려주는 가장 작은 다국어 응답 보조 봇을 만듭니다.

1. 번역 봇은 다국어 응답 병목이 생기는 채널에 붙인다

아래처럼 짧은 문장을 빠르게 확인해야 하는 곳에서 잘 맞습니다.

  • 해외 유저 문의 응답
  • 다국어 공지 초안 확인
  • 게임 커뮤니티 대화 보조

AI 기반 텍스트 처리 구조는 디스코드 요약 봇 만들기와 거의 비슷합니다.

2. 번역 대상 채널과 API 값 정리

DISCORD_TOKEN=여기에_봇_토큰
OPENAI_API_KEY=여기에_OpenAI_API_키
GUILD_ID=테스트_서버_ID


번역도 결국 외부 API 호출이므로 키 분리는 필수입니다.

3. 번역 호출 패키지부터 맞춘다

pip install -U discord.py openai python-dotenv


AI 기능 글들을 따라왔다면 이미 설치돼 있을 가능성이 큽니다.

4. 입력 언어를 받아 번역하는 코드

import os

import discord
from discord import app_commands
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

TOKEN = os.getenv("DISCORD_TOKEN")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
GUILD_ID = int(os.getenv("GUILD_ID"))

ai_client = OpenAI(api_key=OPENAI_API_KEY)
intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)
guild = discord.Object(id=GUILD_ID)


@client.event
async def on_ready():
    await tree.sync(guild=guild)
    print(f"로그인 성공: {client.user}")


@tree.command(name="번역", description="입력한 문장을 번역합니다.", guild=guild)
@app_commands.describe(text="번역할 문장", target="ko 또는 en")
async def translate_text(interaction: discord.Interaction, text: str, target: str):
    target = target.lower().strip()
    if target not in {"ko", "en"}:
        await interaction.response.send_message("target 값은 ko 또는 en만 사용할 수 있습니다.", ephemeral=True)
        return

    await interaction.response.defer(ephemeral=True)
    target_language = "한국어" if target == "ko" else "영어"

    response = ai_client.responses.create(
        model="gpt-4.1-mini",
        input=[
            {"role": "system", "content": f"입력 문장을 자연스럽고 짧게 {target_language}로 번역하세요."},
            {"role": "user", "content": text},
        ],
    )

    translated = response.output_text.strip()
    embed = discord.Embed(title="번역 결과", color=discord.Color.green())
    embed.add_field(name="원문", value=text[:1024], inline=False)
    embed.add_field(name="번역문", value=translated[:1024], inline=False)
    await interaction.followup.send(embed=embed, ephemeral=True)


if not TOKEN or not OPENAI_API_KEY:
    raise ValueError("환경변수 설정이 비어 있습니다.")

client.run(TOKEN)


기본형은 문장을 입력받고 목표 언어만 정하면 끝입니다.
처음에는 한국어와 영어 두 방향만 잡아도 충분합니다.

5. 짧은 문장과 긴 문장을 같이 확인

python main.py


`/번역 text:Hello target:ko`처럼 실행해 결과를 확인합니다.
한국어를 영어로, 영어를 한국어로 양방향 테스트해야 합니다.

6. 언어 판별과 길이 제한에서 막히는 부분

  • 번역이 너무 길거나 말투가 과한 경우 시스템 프롬프트를 더 짧고 건조하게 조정해야 합니다.
  • OpenAI 호출 자체가 실패하는 경우 API 키, 모델 이름, 사용량 제한을 먼저 봅니다.
  • 슬래시 명령어가 안 보이는 경우 서버 sync와 명령어 스코프를 확인합니다.

7. 번역은 공지보다 문의 응답 속도에서 먼저 체감된다

다국어 공지 초안을 빠르게 만들거나, 짧은 문의 답변을 번역해 줄 때 특히 편합니다.

완벽한 번역보다 운영진이 응답을 끊기지 않게 이어 가는 데 더 큰 장점이 있습니다.

공지 흐름은 디스코드 공지 채널 운영법, 문의 흐름은 디스코드 문의 동선 설계법을 같이 보면 좋습니다.

8. 민감한 문구는 자동 번역에 최종 판단을 맡기지 않는다

번역 결과가 항상 정확하다고 가정하면 곤란합니다.

운영 정책, 제재 안내, 결제 관련 문구는 최종 확인을 사람이 맡아야 합니다.

번역 봇은 속도를 보조하는 도구이지 책임을 넘기는 장치는 아닙니다.

9. 상시 운영과 비용도 같이 본다

번역 봇도 호출량이 늘면 비용이 늘어납니다.

자주 쓰는 서버라면 명령어 전용 채널을 따로 두거나, 짧은 문장만 받게 제한해야 합니다.

배포가 필요하다면 24시간 디스코드 봇 무료 호스팅, 디스호스트처럼 상시 실행 환경을 같이 준비하면 됩니다.

10. 번역은 문장과 문의 동선이 받쳐 줘야 쓸모가 난다

디스코드 공지 채널 운영법과 디스코드 문의 동선 설계법을 같이 보면 번역봇이 들어갈 위치와 문장 톤이 함께 정리됩니다.

번역 품질보다 AI 호출 구조와 프롬프트 방향을 더 손보고 싶다면 디스코드 요약 봇 만들기를 같이 보면 됩니다.

'봇 개발 팁 > Discord.py' 카테고리의 다른 글

디스코드 경제 봇 만들기  (0) 2026.05.16
디스코드 출석 체크 봇 만들기  (0) 2026.05.14
디스코드 레벨링 봇 만들기  (0) 2026.05.13
초대 링크 추적 디스코드 봇 만들기  (0) 2026.05.09
욕설 필터 디스코드 봇 만들기  (0) 2026.05.08
'봇 개발 팁/Discord.py' 카테고리의 다른 글
  • 디스코드 경제 봇 만들기
  • 디스코드 출석 체크 봇 만들기
  • 디스코드 레벨링 봇 만들기
  • 초대 링크 추적 디스코드 봇 만들기
디스호스트
디스호스트
쉽고 안정적인 디스코드 봇 호스팅 서비스, 디스호스트의 기술 블로그입니다. 디스호스트는 24시간 구동되는 서버를 통해 디스코드 봇을 대신 구동시켜 드리는 서비스를 제공하고 있습니다.
  • 디스호스트
    디스호스트 기술 블로그
    디스호스트
  • 블로그 메뉴

    • 홈
    • 디스호스트 사용 가이드
    • 디스코드 봇 호스팅, 24시간 서버 구동
    • 분류 전체보기 (93) N
      • 디스코드 (9) N
      • 디스호스트 가이드 (12)
      • 봇 개발 팁 (40) N
        • Discord.js (10)
        • Discord.py (29) N
      • DiscordJS 개발 튜토리얼 (15)
      • 디스코드 서버 운영 (13)
      • 디스코드 봇 오류 해결 (3)
  • 링크

    • 디스호스트
  • hELLO· Designed By정상우.v4.10.3
디스호스트
디스코드 번역 봇 만들기
상단으로

티스토리툴바