Skip to content

Commit e5ea8a7

Browse files
committed
Updated to use latest version of JDA
1 parent 71691e5 commit e5ea8a7

File tree

3 files changed

+49
-45
lines changed

3 files changed

+49
-45
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,9 @@ gradle-app.setting
8989

9090
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
9191
# gradle/wrapper/gradle-wrapper.properties
92+
/bin/
93+
94+
## Eclipse
95+
.classpath
96+
.project
97+
.settings/

build.gradle

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
buildscript {
2-
repositories {
3-
jcenter()
4-
}
5-
dependencies {
6-
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'
7-
}
1+
plugins {
2+
id "com.github.johnrengelman.shadow" version "7.1.2"
3+
id "eclipse"
84
}
95

106
apply plugin: 'java'
11-
apply plugin: 'maven'
7+
apply plugin: 'maven-publish'
128
apply plugin: 'com.github.johnrengelman.shadow'
139

1410
group = 'org.nyxcode.wurm'
@@ -22,20 +18,20 @@ targetCompatibility = 1.8
2218

2319
repositories {
2420
mavenCentral()
25-
maven { url "http://jcenter.bintray.com" }
21+
maven { url "https://jcenter.bintray.com" }
2622
maven { url "https://dl.bdew.net/agorepo/" }
27-
maven { url "http://repo.maven.apache.org/maven2" }
23+
maven { url "https://repo.maven.apache.org/maven2" }
2824
maven { url 'https://jitpack.io' }
2925
}
3026

3127
dependencies {
32-
compile 'net.dv8tion:JDA:3.3.1_289'
33-
compile 'org.gotti.wurmunlimited:server-modlauncher:0.40'
34-
compile 'com.github.Sindusk:sindusklibrary:v2.1'
28+
implementation("net.dv8tion:JDA:5.0.0-alpha.20")
29+
implementation('org.gotti.wurmunlimited:server-modlauncher:0.40')
30+
implementation('com.github.Sindusk:sindusklibrary:v2.1')
3531
}
3632

3733
jar {
38-
version = null
34+
archiveVersion = null
3935
}
4036

4137
shadowJar {
@@ -57,5 +53,5 @@ task dist(type: Zip) {
5753
from fileTree(dir: 'mods', include: '*')
5854
})
5955

60-
archiveName "${project.name}-${project.version}.zip"
56+
archiveFileName = provider { "${project.name}-${project.version}.zip"}
6157
}

src/main/java/org/nyxcode/wurm/discordrelay/DiscordRelay.java

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,18 @@
1313
import javassist.bytecode.Descriptor;
1414
import mod.sin.lib.Prop;
1515
import mod.sin.lib.Util;
16-
import net.dv8tion.jda.core.AccountType;
17-
import net.dv8tion.jda.core.JDA;
18-
import net.dv8tion.jda.core.JDABuilder;
19-
import net.dv8tion.jda.core.MessageBuilder;
20-
import net.dv8tion.jda.core.entities.ChannelType;
21-
import net.dv8tion.jda.core.entities.Game;
22-
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
23-
import net.dv8tion.jda.core.exceptions.RateLimitedException;
24-
import net.dv8tion.jda.core.hooks.ListenerAdapter;
16+
import net.dv8tion.jda.api.JDA;
17+
import net.dv8tion.jda.api.JDABuilder;
18+
import net.dv8tion.jda.api.entities.Activity;
19+
import net.dv8tion.jda.api.entities.Activity.ActivityType;
20+
import net.dv8tion.jda.api.entities.channel.ChannelType;
21+
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
22+
import net.dv8tion.jda.api.hooks.ListenerAdapter;
23+
import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
24+
2525
import org.gotti.wurmunlimited.modloader.classhooks.HookManager;
2626
import org.gotti.wurmunlimited.modloader.interfaces.*;
2727

28-
import javax.security.auth.login.LoginException;
2928
import java.text.DateFormat;
3029
import java.text.SimpleDateFormat;
3130
import java.util.Date;
@@ -42,7 +41,6 @@ public class DiscordRelay extends ListenerAdapter implements WurmServerMod, PreI
4241
protected static JDA jda;
4342
protected static String botToken = "";
4443
protected static String serverName = "";
45-
//private String wurmBotName;
4644
protected static boolean useUnderscore = false;
4745
protected static boolean showConnectedPlayers = true;
4846
protected static int connectedPlayerUpdateInterval = 120;
@@ -61,11 +59,16 @@ public void preInit() {
6159
ClassPool classPool = HookManager.getInstance().getClassPool();
6260
Class<DiscordRelay> thisClass = DiscordRelay.class;
6361

62+
//jda = new JDABuilder(AccountType.BOT).setToken(botToken).addEventListener(this).buildBlocking();
63+
jda = JDABuilder.createDefault(botToken).addEventListeners(this).build();
6464
try {
65-
jda = new JDABuilder(AccountType.BOT).setToken(botToken).addEventListener(this).buildBlocking();
66-
} catch (LoginException | RateLimitedException | InterruptedException e) {
67-
e.printStackTrace();
68-
}
65+
jda.awaitReady();
66+
} catch (InterruptedException e1) {
67+
// TODO Auto-generated catch block
68+
e1.printStackTrace();
69+
logger.info("Unable to wait untill JDA is ready.");
70+
}
71+
6972

7073
// - Send rumour messages to discord - //
7174
try {
@@ -122,15 +125,16 @@ public void configure(Properties properties) {
122125

123126
private static final DateFormat df = new SimpleDateFormat("HH:mm:ss");
124127
public static void sendToDiscord(String channel, String message, boolean includeMap){
125-
MessageBuilder builder = new MessageBuilder();
128+
MessageCreateBuilder builder = new MessageCreateBuilder();
129+
126130
message = "[" + df.format(new Date(System.currentTimeMillis())) + "] "+message; // Add timestamp
127131
if(includeMap) {
128132
message = message + " (" + Servers.localServer.mapname + ")";
129133
}
130134

131-
builder.append(message);
135+
builder.addContent(message);
132136
try {
133-
jda.getGuildsByName(serverName, true).get(0).getTextChannelsByName(channel, true).get(0).sendMessage(builder.build()).queue();
137+
jda.getTextChannelsByName(channel, true).get(0).sendMessage(builder.build()).queue();
134138
}catch(Exception e){
135139
e.printStackTrace();
136140
logger.info("Discord Relay failure: #"+channel+" - "+message);
@@ -146,16 +150,13 @@ public MessagePolicy onKingdomMessage(Message message) {
146150
}
147151
}else if(window.startsWith("GL-")){
148152
byte kingdomId = message.getSender().getKingdomId();
149-
//Kingdom kingdom = Kingdoms.getKingdom(kingdomId);
153+
150154
String kingdomName = discordifyName("GL-"+Kingdoms.getChatNameFor(kingdomId));
151155
sendToDiscord(kingdomName, message.getMessage(), false);
152-
/*MessageBuilder builder = new MessageBuilder();
153156

154-
builder.append(message.getMessage());
155-
jda.getGuildsByName(serverName, true).get(0).getTextChannelsByName(kingdomName, true).get(0).sendMessage(builder.build()).queue();*/
156157
}else{
157158
byte kingdomId = message.getSender().getKingdomId();
158-
//Kingdom kingdom = Kingdoms.getKingdom(kingdomId);
159+
159160
String kingdomName = discordifyName(Kingdoms.getChatNameFor(kingdomId));
160161
sendToDiscord(kingdomName, message.getMessage(), false);
161162
}
@@ -208,7 +209,6 @@ public void sendToGlobalKingdomChat(final String channel, final String message)
208209
}
209210
}
210211
if (kingdomId != -1) {
211-
//long wurmId = -10;
212212

213213
String window = "";
214214
if(global){
@@ -238,21 +238,22 @@ public MessagePolicy onAllianceMessage(PvPAlliance alliance, Message message) {
238238
public void onMessageReceived(MessageReceivedEvent event) {
239239
super.onMessageReceived(event);
240240
if (event.isFromType(ChannelType.TEXT) && !event.getAuthor().isBot()) {
241-
String name = event.getTextChannel().getName();
241+
242+
String name = event.getChannel().getName();
242243
if(name.contains("trade")){
243244
if(enableTrade) {
244-
sendToTradeChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContent());
245+
sendToTradeChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContentDisplay());
245246
}
246247
} else if (name.contains(discordifyName("ca-help"))){
247248
if (enableCAHELP) {
248-
sendToHelpChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContent());
249+
sendToHelpChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContentDisplay());
249250
}
250251
} else if (name.contains("mgmt")){
251252
if (enableMGMT) {
252-
sendToMGMTChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContent());
253+
sendToMGMTChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContentDisplay());
253254
}
254255
} else {
255-
sendToGlobalKingdomChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContent());
256+
sendToGlobalKingdomChat(name, "<@" + event.getMember().getEffectiveName() + "> " + event.getMessage().getContentDisplay());
256257
}
257258
}
258259
}
@@ -295,13 +296,14 @@ public boolean onPlayerMessage(Communicator var1, String var2) {
295296

296297
protected static long lastPolledPlayers = 0;
297298
protected static long pollPlayerInterval = TimeConstants.SECOND_MILLIS*120;
299+
298300
@Override
299301
public void onServerPoll() {
300302
if(showConnectedPlayers) {
301303
if(System.currentTimeMillis() > lastPolledPlayers + pollPlayerInterval) {
302304
if (Servers.localServer.LOGINSERVER) {
303305
try {
304-
jda.getPresence().setGame(Game.of(Players.getInstance().getNumberOfPlayers() + " online!"));
306+
jda.getPresence().setActivity(Activity.of(ActivityType.PLAYING, Players.getInstance().getNumberOfPlayers() + " online!"));
305307
}catch(Exception e){
306308
//e.printStackTrace();
307309
//logger.info("Failed to update player count.");

0 commit comments

Comments
 (0)