목차
봇 초대하기
Discord Developer Portal - OAuth2에서 SCOPES을 bot에 체크하면
BOT PERMISSIONS칸이 뜨는데 원하는 권한을 체크해주면
맨 아래에 URL이 생성됩니다.
생성된 URL을 통해 서버에 봇을 초대합니다.
서버에 초대 완료하였습니다.
이제 오프라인 되어 있는 봇을 온라인으로 돌려보겠습니다.
봇 온라인
프로젝트 생성
IDE는 인텔리제이를 사용하였습니다.
프로젝트를 생성해줍니다.
의존성 추가
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
implementation 'net.dv8tion:JDA:5.0.0-beta.18'
implementation 'dev.arbjerg:lavaplayer:2.0.4'
}
의존성 추가 해줍니다.
Discord용 오디오 플레이어 라이브러리도 추가해주었습니다.
각 문서 링크는 아래에 있습니다.
JDA 다운로드 문서
LavaPlayer 문서
JDA 객체 생성
JDA jda = JDABuilder.createDefault("token").build();
메인 메서드에서 JDA 객체를 생성합니다.
토큰은 Bot - Build-A-Bot에서 가져올 수 있습니다.
프로젝트를 실행하면
온라인이 되었습니다.
객체 생성 문서
SLF4J
로깅 프레임워크
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
JDA는 SLF4J를 사용하여 메시지를 기록하기 때문에 빌드 경로에 추가해야 합니다.
추가하지 않으면 위와 같은 메시지가 콘솔에 출력됩니다.
JDA는 현재 SLF4J 구현이 없는 경우 대체 로거를 제공합니다.
하지만 속도를 향상시키고 로거를 사용자 정의하고 파일에 기록할 수 있으므로 하나를 사용하는 것이 좋습니다.
implementation 'org.slf4j:slf4j-api:2.0.9'
implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.4.11'
의존성 추가해줍니다.
SLF4J는 인터페이스만 존재하고 구현체는 존재하지 않습니다.
그래서 프로젝트를 직접 실행하는 경우 해당 라이브러리가 포함되지 않아 로그가 나타나지 않습니다.
프로젝트를 직접 실행하는 경우 로그를 찍고 싶다면 testImplementation을 implementation으로 수정하면 됩니다. (logback)
그리고 logback 구성은 resource 디렉터리에 있어야 합니다.
src/main/resources/logback.xml를 추가합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %boldCyan(%-34.-34thread) %red(%10.10X{jda.shard}) %boldGreen(%-15.-15logger{0}) %highlight(%-6level) %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
SLF4J 문서
의존성 추가
SLF4J
https://mvnrepository.com/artifact/org.slf4j/slf4j-api
Logback
https://mvnrepository.com/artifact/ch.qos.logback/logback-classic/1.4.11
SLF4J 관련 참고 포스팅
https://choiyb2.tistory.com/147
'개발 > discord BOT' 카테고리의 다른 글
[디스코드 봇 개발] - #3 메시지 읽기, 답장 (0) | 2023.12.20 |
---|---|
[디스코드 봇 개발] - #1 봇 생성 (0) | 2023.12.04 |
[디스코드 봇 개발] - #0 개발 동기 및 개발 환경 (0) | 2023.11.30 |