Skip to content

teddynote-lab/dify-langgraph-discord-bot

Repository files navigation

🧵 Dify & LangGraph Platform Discord Bot Usecase

기능 미리보기

  • 멀티턴 대화

  • typing 표시

  • 기본적인 마크다운 표시

  • 이미지 업로드 가능

  • 이미지 결과물 표시 (Dify)

프로젝트 구조

graph LR
  A[유저의 멘션] --> B[discord bot 프로그램]
  B -->|Dify API 요청| C[Dify]
  C -->|응답 결과| B
  B -->|유저에게 답변| A
Loading

앱 설정

현재 디렉토리에 .env 파일을 생성하고 .env.example의 내용을 복사하여 다음 내용을 설정하세요:

# 하단의 [Discord 봇 설정 방법] 을 참고해주세요
DISCORD_BOT_TOKEN=MTMXXXXXXXXXXXXXX.XXXXXXXX.XXXXXXXX

# Dify API Keys : Dify 예시를 사용하려면 이 값을 설정해주세요
DIFY_API_KEY=app-XXXXXXXXXXXXXXXXXXXXXX
DIFY_ENDPOINT=https://api.dify.ai/v1

# LangGraph API Keys : LangGraph 예시를 사용하려면 이 값을 설정해주세요
# docker 로 실행할 경우 localhost 를 host.docker.internal 로 변경
LANGGRAPH_ENDPOINT=http://localhost:2024
LANGGRAPH_API_KEY=
LANGGRAPH_ASSISTANT_ID=agent

실행 방법

1. 바로 실행

# 의존성 설치
uv sync
# 실행
uv run dify_example.py

2. docker compose 사용

docker compose up --build -d

langgraph 앱을 실행하고 싶으면 docker-compose.ymldify_example.pylanggraph_example.py 로 바꿔주세요.

Discord 봇 설정 방법

1. discord developer 페이지 접속

https://discord.com/developers/applications

2. application 생성

3. 생성 후 Bot 탭에서 Reset Token

토큰 복사해두기

4. 같은 Bot 탭에서 Message Content Intent 활성화 후 저장

메세지 내용을 읽을 수 있게 하기 위해 필요한 설정입니다.

5. Installation 탭 설정 & 생성된 URL 로 접속

  • Guild Install Settings 의 SCOPES 에 bot 추가 (봇으로 동작하게 하기 위해 필요한 스코프입니다.)
  • Guild Install Settings 의 PERMISSIONS 에 Send Messages 추가 (서버에 메세지를 보내기 위해 필요한 권한입니다.)

7. 추가된 봇과 대화

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published