Skip to content

Commit 5aa2a6c

Browse files
authored
Merge pull request #7 from janesth/csbot-features
version 3 bugfixes
2 parents 5fb1f5c + 1bd6559 commit 5aa2a6c

4 files changed

Lines changed: 34 additions & 17 deletions

File tree

src/main/java/services/CsFunService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ public String handleWowEvent(UserContextInteractionEvent event, String locale) {
3535

3636
if (wowList.containsKey(targetUserName)) {
3737
String message = resourceBundle.getString("wow.highlightMessage").replace("%s", targetUserName) + " " + wowList.get(targetUserName);
38-
return messageService.sendMessageInCorrectChannel(event, message);
38+
return messageService.sendMessageInCorrectChannel(event, message, locale);
3939
} else if (targetUser.isBot()) {
40-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.cantwowabot"));
40+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.cantwowabot"), locale);
4141
} else {
42-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.hasnowow"));
42+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.hasnowow"), locale);
4343
}
4444
}
4545

@@ -115,7 +115,7 @@ private EmbedBuilder buildEmbed(String teams[]) {
115115
private void setupWowList() {
116116
wowList = new HashMap<String, String>();
117117
try {
118-
wowList = dataService.getAllWowEntries();
118+
wowList.putAll(dataService.getAllWowEntries());
119119
} catch (SQLException ex) {
120120
System.out.println("SQLException thrown: " + ex.getMessage());
121121
}

src/main/java/services/DataService.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,28 @@ public void updateWowEvent(String username, String url) throws SQLException {
5353

5454
public void addUserToDatabase(String username, String discordID) {
5555
try {
56-
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO users(username, discordID) VALUES(?,?)");
57-
preparedStatement.setString(1, username);
58-
preparedStatement.setString(2, discordID);
59-
preparedStatement.executeUpdate();
56+
if(!isUsernameInDatabase(username)) {
57+
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO users(username, discordID) VALUES(?,?)");
58+
preparedStatement.setString(1, username);
59+
preparedStatement.setString(2, discordID);
60+
preparedStatement.executeUpdate();
61+
}
6062
} catch (SQLException ex) {
6163
System.out.println("Can't add " + username + " with discordID " + discordID);
6264
}
6365
}
6466

67+
private boolean isUsernameInDatabase(String username) throws SQLException{
68+
PreparedStatement preparedStatement = connection.prepareStatement("SELECT u.username FROM users AS u WHERE u.username = ?");
69+
preparedStatement.setString(1, username);
70+
ResultSet resultSet = preparedStatement.executeQuery();
71+
72+
while (resultSet.next()) {
73+
return true;
74+
}
75+
return false;
76+
}
77+
6578
public String getUsernameForFaceitID(String faceitID) throws SQLException {
6679
PreparedStatement preparedStatement = connection.prepareStatement("SELECT u.username FROM users AS u WHERE u.faceitID = ?");
6780
preparedStatement.setString(1, faceitID);
@@ -84,7 +97,7 @@ public HashMap<String, String> getAllWowEntries() throws SQLException {
8497
return returnMap;
8598
}
8699

87-
public RankStats getRanksStatsForUsername(String username) throws SQLException {
100+
public RankStats getRanksStatsForUsername(String username) throws SQLException, NumberFormatException {
88101
String steamId64 = getSteamIDForUsername(username);
89102
String steamId = SteamUIDConverter.getSteamId(Long.parseLong(steamId64));
90103

src/main/java/services/MessageService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ public EmbedBuilder sendEmbedMessageInCorrectChannel(GenericCommandInteractionEv
3737
}
3838

3939

40-
public String sendMessageInCorrectChannel(GenericCommandInteractionEvent event, String message) {
40+
public String sendMessageInCorrectChannel(GenericCommandInteractionEvent event, String message, String locale) {
41+
resourceBundle = ResourceBundle.getBundle("localization", new Locale(locale));
42+
4143
if(event.getGuild().getId().equals(properties.getProperty("discord.thisIsMyHome"))) {
4244
if(!event.getMessageChannel().getId().equals(HOME_CHANNEL)) {
4345
event.getHook().getInteraction().getGuild().getTextChannelById(HOME_CHANNEL).sendMessage(message).queue();

src/main/java/services/RetakeService.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,23 @@ public String handleMapEvent(SlashCommandInteractionEvent event, String locale)
5151
if (endTime == null || currentTime.isAfter(endTime)) {
5252
rcon.command("changelevel " + event.getOption("map").getAsString());
5353
endTime = LocalTime.now().plusSeconds(delay);
54-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("map.changed").replace("%s", event.getOption("map").getAsString()));
54+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("map.changed").replace("%s", event.getOption("map").getAsString()), locale);
5555
} else {
5656
int missingTime = endTime.toSecondOfDay() - currentTime.toSecondOfDay();
57-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("map.cooldown").replace("%s", String.valueOf(missingTime)));
57+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("map.cooldown").replace("%s", String.valueOf(missingTime)), locale);
5858
}
5959
} else {
60-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.invalidmap"));
60+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.invalidmap"), locale);
6161
}
6262
} else {
63-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.mapnotallowed"));
63+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.mapnotallowed"), locale);
6464
}
6565
} catch (AuthenticationException ex) {
6666
System.out.println("AuthenticationException thrown: " + ex.getMessage());
67-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.majorerror"));
67+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.majorerror"), locale);
6868
} catch (IOException ex) {
6969
System.out.println("IOException thrown: " + ex.getMessage());
70-
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.majorerror"));
70+
return messageService.sendMessageInCorrectChannel(event, resourceBundle.getString("error.majorerror"), locale);
7171
}
7272
}
7373

@@ -77,10 +77,12 @@ public EmbedBuilder handleStatsEvent(UserContextInteractionEvent event, String l
7777
try {
7878
RankStats rankStats = dataService.getRanksStatsForUsername(user.getName());
7979
if (rankStats != null) {
80-
return RankStats.getRankStatsMessage(resourceBundle, rankStats);
80+
return messageService.sendEmbedMessageInCorrectChannel(event, RankStats.getRankStatsMessage(resourceBundle, rankStats), locale);
8181
}
8282
} catch (SQLException ex) {
8383
System.out.println("SQLException thrown: " + ex.getMessage());
84+
} catch (NumberFormatException ex) {
85+
System.out.println("NumberFormatException thrown: " + ex.getMessage());
8486
}
8587
return new EmbedBuilder().setTitle(resourceBundle.getString("error.majorerror"));
8688
}

0 commit comments

Comments
 (0)