들어가기 앞서
가장 중요한게 초기 설정이라고 생각하기에 상세한 부분까지 기록해보았다.
1. DiscordBot 생성
먼저 디스코드 봇을 생성해 볼꺼다
https://discord.com/developers/applications/
해당 링크를 들어가면 봇을 생성할 수 있는데
이곳에서 New Application을 클릭해준다. 이후 이름은 누전먹봇으로 설정했다. 이름의 뜻은 그냥 디스코드 서버 이름이 누전먹이니까..
위 과정을 진행하면 위와같이 보이게 된다. 아이콘은 자기가 원하는 대로 설정가능하다.
이제 이 봇을 서버에 추가해 줄 것인데 왼쪽 Setting 창에서 OAuth2을 클릭한다.
두 선택지가 뜨는데 URL Generator를 선택한다.
그러면 해당 화면과 같이 뜨게 되면 SCOPES에서 bot을 클릭한다.
이와같이 BOT PERMISSIONS와 같은 권한 설정 화면이 아래에 뜨는데 Administartor를 선택한다. 말 그대로 관리자 권한을 얻는다.
이를 다하면 아래에 URL이 뜬다 이 링크를 타고 들어간다
이와같이 뜨게 되는데 서버 선택하기에서 자신이 봇을 추가할 서버를 선택한다. 이후 계속하기 클릭하고 권한도 승인해준다.
이후 서버를 확인하면 생성한 봇이 서버에 추가된 것이 보인다. 근데 아직 추가 설정을 안해서 오프라인 상태로 보인다.
2. Intellij 설정
나는 Intellij의 깔끔한 디자인이 마음에 들어서 해당 IDE를 이용하여 만들었다.
아직 Intellij가 설치안되어있다면
https://www.jetbrains.com/ko-kr/idea/download/?section=windows 에서 설치가능하다.
설치 과정까지는 따로 적어놓지 않았다.
New Project를 통해 새 프로젝트를 만든다.
JDK는 21을 쓸꺼다 그냥 가장 버전이 높은 걸로 받았다 솔직히 뭐 17 그런거 차이 모르겠다.
그냥 버전 높은게 좋은거겠지? 아니면 나중에 바꾸면 되니까..
그리고 Build system은 Gradle로 한다. 이유는 그냥 Gradle이 좋다고 들었다. 그리고 멋있어 보이니까 ㅋㅋ
아 참고로 파일이미지가 기존과 다른 이유는 Intellij에 Plugin설치를 했다 해당 Plugin은 Atom Material Icons를 설치하면 된다.
위 사진을 보면 main.java.org.example.Main이 생성되었다 근데 패키지 이름이 마음에 안드니까 바꿀꺼다.
org.example 파일을 클릭후 우클릭 -> Refactor -> Rename 클릭
이름은 org.github.constmine.bot으로 한다. 이후 Refactor 클릭
이후 Main클래스를 지우고
해당 패키지에서 New -> Java Class를 통해 새로운 클래스를 만들어준다.
이름은 DiscordBot으로 설정했다.
그러면 이렇게 새로운 클래스가 생성된다.
3. JDA 설치
디스코드 봇 관련 기능을 구현하기 위해서 JDA를 설치해야한다.
https://github.com/discord-jda/JDA <- JDA Github 주소이다.
해당 Github에 들어간다.
Github에 보면 Releases가 있는데 나는 가장 최신 Releases를 설치할것이다. 따라서 최신 버전 릴리즈를 들어가면
위와 비슷한 형식으로 되어있는데 여기서 중요한건 Installation에 Gradle을 사용할 것이다.
해당 코드에서 implementation을 복사한다.
repositories {
mavenCentral()
}
dependencies {
implementation("net.dv8tion:JDA:5.0.0-beta.20")
}
이후 해당 코드를 다시 Intellij에 돌아와서 build.gradle.kts를 찾는다.
build.gradle.kts를 확인해보면 dependencies가 있을 것이다. 해당 코드 아래에 복사한 코드를 붙여넣는다.
이후 새로고침을 한다.
위 버튼을 찾아서 눌러주면 된다.
그러면 적용이 된다.
이제 간단한 코드를 작성해 볼 것이다.
DiscordBot.class 에 돌아온 후에 main 함수를 만든 후
package org.github.constmine.bot;
import net.dv8tion.jda.api.JDABuilder;
public class DiscordBot {
public static void main(String[] args) {
JDABuilder.createDefault("토큰값")
.build();
}
}
해당 코드를 작성한다.
근데 createDefault() 함수에서 토큰값을 필요로 한다.
이 토큰 값을 가져오기 위해 다시 디스코드 봇 생성하는 창으로 돌아가서 Settings에서 Bot으로 들어간다.
Reset Token이 보인다. 누른후에 확인을 누르면
Token 값이 생성되었을것이다. 이를 복사한 이후에 createDefault()에 붙여넣기 한다. String 이 매개변수이므로
createDefault("토큰 값")으로 한다. 이후 실행을 하면 된다.
실행하는 버튼은 Intellij에서 오른쪽 위에 Current File옆에 실행버튼이 있다. 버튼을 눌러준다.
이와 비슷하게 뜨면 성공한 것 같다.
실제로 디스코드를 들어가면
온라인이 된것을 볼 수 있다.
'java > DiscordBot' 카테고리의 다른 글
[DiscordBot] Java로 디스코드봇 만들기 5. 채팅에 반응하기 (0) | 2024.02.03 |
---|---|
[DiscordBot] Java로 디스코드봇 만들기 4. 상태 메시지 설정 (0) | 2024.02.02 |
[DiscordBot] Java로 디스코드봇 만들기 3. Github와 연동 (0) | 2024.02.02 |
[DiscordBot] Java로 디스코드봇 만들기 2. 토큰 관리 (0) | 2024.02.01 |
[DiscordBot] Java로 디스코드봇 만들기 0. 시작 (0) | 2024.02.01 |