Java Discord API | |
<colbgcolor=#fff,#1f2023><colcolor=#4b50c9> LTS 버전 | 4.4.0_352[1] |
최신 버전 | v5.0.0-beta.20[2] |
| | |
[clearfix]
1. 개요
JDA(Java Discord API)는 Discord API를 Java로 래핑한 라이브러리다. 이 라이브러리를 사용하면 Java로 Discord 봇을 쉽게 개발할 수 있으며, Java 기반 Discord API Wrapper 라이브러리 중 가장 많이 사용되는 라이브러리 중 하나이다.2. 설치
VERSION를 버전으로 바꿔 적으면 된다.2.1. Maven
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
<version>VERSION</version>
</dependency>
<repository>
<id>jcenter</id>
<name>jcenter-bintray</name>
<url>https://jcenter.bintray.com</url>
</repository>
오디오 모듈없이 설치
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
<version>VERSION</version>
<exclusions>
<exclusion>
<groupId>club.minnced</groupId>
<artifactId>opus-java</artifactId>
</exclusion>
</exclusions>
</dependency>
2.2. Gradle
dependencies {
compile 'net.dv8tion:JDA:VERSION'
}
repositories {
jcenter()
}
오디오 모듈없이 설치
dependencies {
compile ('net.dv8tion:JDA:VERSION') {
exclude module: 'opus-java'
}
}
3. 예제
간단한 예제들이다.예제를 작성할 때 가능하면 최신버전기준으로 해주십시오.
3.1. Ping Bot
#!syntax java
public class Bot extends ListenerAdapter
{
public static void main(String[] args) throws LoginException
{
if (args.length < 1) {
System.out.println("You have to provide a token as first argument!");
System.exit(1);
}
JDABuilder.createLight(args[0], GatewayIntent.GUILD_MESSAGES, GatewayIntent.DIRECT_MESSAGES)
.addEventListeners(new Bot())
.setActivity(Activity.playing("Type !ping"))
.build();
}
@Override
public void onMessageReceived(MessageReceivedEvent event)
{
Message msg = event.getMessage();
if (msg.getContentRaw().equals("!ping"))
{
MessageChannel channel = event.getChannel();
long time = System.currentTimeMillis();
channel.sendMessage("Pong!")
.queue(response -> {
response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue();
});
}
}
}