1. 토큰 관리법
사용하다 보니 토큰 값을 따로 관리할 필요가 있는 것 같아서 GPT 한테 물어보았다.
대충 propertise를 이용해서 만들면 될 것 같다. 나중에 Github에도 올릴꺼니까 토큰 파일만 따로 관리하는 법도 알 수 있고
변수 관리에도 쓰일 법하다.
2. propertises 파일 생성
resources 파일아래에다가 DiscordBotToken.propertises 파일을 만들었다.
근데 propertises 파일을 뒤에 확장자를 붙여서 생성해도 되는 건지는 잘 모르겠다.
생성한 DiscordBotToken 파일에
와 같이 작성하였다.
이제 토큰 값을 가져오는 class를 따로 만들어보았다.
bot 파일 아래에 BotTokenManager 클래스를 생성하였다.
이후에
package org.github.constmine.bot;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class BotTokenManager {
private String DiscordBotToken;
public BotTokenManager() {
settingToken();
}
private void settingToken() {
try(InputStream input = getClass().getClassLoader().getResourceAsStream("DiscordBotToken.propertises")) {
Properties properties = new Properties();
properties.load(input);
DiscordBotToken = properties.getProperty("Token");
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public String getDiscordBotToken() {
return DiscordBotToken;
}
}
와 같이 작성하였다. 이후 DiscordBot 클래스로 돌아가서 해당 클래스를 이용하여 토큰값을 가져와보았다.
package org.github.constmine.bot;
import net.dv8tion.jda.api.JDABuilder;
public class DiscordBot {
public static void main(String[] args) {
BotTokenManager tokenManager = new BotTokenManager();
String token = tokenManager.getDiscordBotToken();
JDABuilder.createDefault(token)
.build();
}
}
그리고 실행해 보았는데
이처럼 떴다. 해결책을 찾아보았는데 Build를 Intellij IDEA로 바꿔주어야한다고 한다.
File -> Settings를 찾아서 들어간다.
왼쪽 검색창에 Gradle을 검색하니 Build Toos아래에 Gradle이 있었다. 이후 Build and run using과 Run tests using을 바꿔주었다
이후 다시 실행하니 잘 작동되었다.
'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로 디스코드봇 만들기 1. 환경설정 (1) | 2024.02.01 |
[DiscordBot] Java로 디스코드봇 만들기 0. 시작 (0) | 2024.02.01 |