Dlise
시원한 냉장고
Dlise
전체 방문자
오늘
어제
  • 시원한 냉장고 (136)
    • Java (31)
      • Java (26)
      • Spring (5)
    • Algorithm & PS (25)
      • Algorithm (14)
      • Problem Solving (11)
    • Network (12)
    • Database (2)
    • Data Structure (4)
    • OOP & CleanCode (5)
    • Web (0)
    • Git (2)
    • AI (2)
    • Project (1)
      • Discord Bot (1)
    • Error (19)
    • Tools (5)
    • 수학 (5)
      • 확률과 통계(기초) (5)
    • 컴퓨터 구조 (3)
    • 활동 (20)
      • 행사 & 여행 (10)
      • 자격증 (4)
      • 회고 (6)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 통계학
  • 열혈강의자료구조
  • CleanCode
  • 후위 표기법
  • java
  • 중위 표기법
  • spring security in action second edition
  • 네트워크
  • 백준
  • 가장쉬운알고리즘책

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dlise

시원한 냉장고

Project/Discord Bot

Discord Bot 만들기 - 환경 설정

2025. 6. 6. 20:08

TypeScript로 디스코드 봇을 만들고 싶어서, 친구들과 사용할 수 있는 bot을 만들고자 한다.

 

아직 server, docker 등에 대한 개념이 부족하기에 이번에 aws, docker, CI/CD 등을 전반적으로 경험해 볼 것이다.

 

현재 구상한 환경은 아래와 같다.

- Typescript

- Node: v20.13.1

- GitHub Actions

- EC2

- Ubuntu 24.04

- Discord

- Docker 27.5.1

 

Discord Bot 만들기

가장 먼저 Discord Bot을 생성해야 한다.

https://discord.com/developers/applications

 

Discord for Developers

Build games, experiences, and integrations for millions of users on Discord.

discord.com

 

discord developer에서 Application을 생성해 보자.

 

Application Name을 입력하고, Create를 하면 된다.

 

Bot을 만들 것이므로 OAuth2 >  scope에서 bot, application.commands를 선택한다.

applications.commands  선택하는 이유는 글을 작성하기 전에 간단하게 ping-pong 기능을 만들었는데

command가 업데이트되지 않는 이슈가 있었기 때문이다. 아래 글을 통해서 문제를 해결할 수 있었다.

 

https://www.reddit.com/r/Discord_Bots/comments/pc5247/slash_commands_not_appearing/

 

From the Discord_Bots community on Reddit

Explore this post and more from the Discord_Bots community

www.reddit.com

 

다음으로 Application > Bot에서 아래 설정을 ENABLE로 변경해야 한다.

변경해야 하는 이유는, 기능을 구현할 때 Discord.js를 사용하는데,

이와 같이 설정하지 않으면 아래 오류가 발생하기 때문이다.

D:\deockscord\deock-bot\node_modules\@discordjs\ws\dist\index.js:1151
          error: new Error("Used disallowed intents")

 

Discord Bot 초대하기

설정을 끝냈다면, OAuth2 > GENERATED URL을 복사해 page에 접근함으로써 Bot을 초대할 수 있다.

 

성공! 

다만 서버가 동작하고 있지 않으므로 오프라인 상태이다.

 

 

Node Server 만들기

이제 Node Server를 만들어보자. IDE는 VSCode를 사용한다.

 

앞서 말했듯이 typescript를 사용할 것이다. ts로 discord bot을 구현하는 것에 관련해 정보를 찾아보니

discordx라는 봇 생성 모듈이 구현이 있었다. 이것을 사용하기로 결정했다.

https://github.com/discordx-ts/discordx

 

GitHub - discordx-ts/discordx: 🤖 Create a discord bot with TypeScript and Decorators!

🤖 Create a discord bot with TypeScript and Decorators! - discordx-ts/discordx

github.com

 

아래 명령어를 통해 discordx 프로젝트를 생성할 수 있다.

npx create-discordx

 

이후 node를 동작하면, 아래와 같이 bot이 온라인으로 변경된다.

 

현재는 로컬에서 서버를 띄운 상태이며, 기능도 discordx에서 제공하는 sample밖에 없다. 하나씩 구현해가자.

    Dlise
    Dlise

    티스토리툴바