Skip to content

Commit

Permalink
v2.0
Browse files Browse the repository at this point in the history
- CodeAPIは後から実装
  • Loading branch information
KoutaChan committed Sep 11, 2021
1 parent a8828c0 commit 7801f7e
Show file tree
Hide file tree
Showing 16 changed files with 307 additions and 212 deletions.
2 changes: 1 addition & 1 deletion PlayerRoleChecker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>net.klnetwork.playerrolechecker</groupId>
<artifactId>PlayerRoleChecker</artifactId>
<version>1.1</version>
<version>2.0</version>
<packaging>jar</packaging>

<name>PlayerRoleChecker</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;

import static net.klnetwork.playerrolechecker.PlayerRoleChecker.plugin;

public class JoinEvent implements Listener {
@EventHandler
public void CodeIssue(AsyncPlayerPreLoginEvent e) {
String[] result = SQLiteUtil.getCodeFromSQLite(e.getUniqueId().toString());
if (result != null) {
e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, ChatColor.RED + "(発行済み) あなたのコードは \n「" + result[1] + "」 です (発行されてから) 5分以内に認証してください");
e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("JoinEvent.already-code.line1").replaceAll("%code%", result[1]) + "\n" + plugin.getConfig().getString("JoinEvent.already-code.line2").replaceAll("%code%", result[1])));
return;
}
e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, ChatColor.RED + "あなたのコードは \n「" + CodeUtil.CodeIssue(e.getUniqueId()) + "」 です 5分以内に認証してください");
int code = CodeUtil.CodeIssue(e.getUniqueId());
e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("JoinEvent.code.line1").replaceAll("%code%", Integer.toString(code)) + "\n" + plugin.getConfig().getString("JoinEvent.code.line2").replaceAll("%code%", Integer.toString(code))));
new OtherUtil().waitTimer(e.getUniqueId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package net.klnetwork.playerrolechecker.JDA.Events;

import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.klnetwork.playerrolechecker.Util.DiscordUtil;
import net.klnetwork.playerrolechecker.Util.OtherUtil;
import net.klnetwork.playerrolechecker.Util.SQLUtil;
import org.jetbrains.annotations.NotNull;

public class ForceJoinCommand extends ListenerAdapter {
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
if (!event.getAuthor().isBot() && event.isFromType(ChannelType.TEXT) && DiscordUtil.ChannelChecker(event.getTextChannel().getId())) {
if (event.getMember().hasPermission(Permission.ADMINISTRATOR)) {
String[] args = event.getMessage().getContentRaw().split("\\s+");
if (args.length == 3 && args[0].equals("!forcejoin")) {
String uuid = null;
try {
uuid = OtherUtil.getUUID(args[1]).toString();
} catch (Exception exception) {
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("ForceVerify.invalid-name", event.getMessage().getTimeCreated(), null, null).build()).queue();
}
String[] result = SQLUtil.getDiscordFromSQL(uuid);
if (result != null) {
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("ForceVerify.already-registered", event.getMessage().getTimeCreated(), result[0], result[1]).build()).queue();
return;
}
SQLUtil.putSQL(uuid,args[2]);
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("ForceVerify.success-register", event.getMessage().getTimeCreated(), uuid, args[2]).build()).queue();

DiscordUtil.AddRole(event.getGuild(), event.getMember());
}
}
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package net.klnetwork.playerrolechecker.JDA.Events;

import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.klnetwork.playerrolechecker.Util.DiscordUtil;
import net.klnetwork.playerrolechecker.Util.SQLUtil;
import net.klnetwork.playerrolechecker.Util.SQLiteUtil;
import org.jetbrains.annotations.NotNull;


public class JoinCommand extends ListenerAdapter {
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
if (!event.getAuthor().isBot() && event.isFromType(ChannelType.TEXT) && DiscordUtil.ChannelChecker(event.getTextChannel().getId())) {
String[] args = event.getMessage().getContentRaw().split("\\s+");
if (args.length == 1) {
int integer;
try {
integer = Integer.parseInt(args[0]);
} catch (Exception e) {
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("RemoveCommand.invalid-name", event.getMessage().getTimeCreated(), null, null).build()).queue();
return;
}
String[] result = SQLiteUtil.getUUIDFromSQLite(Integer.toString(integer));
if (result == null) {
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("VerifyCommand.invalid-number", event.getMessage().getTimeCreated(), null, null).build()).queue();
return;
}
String[] alreadyUUID = SQLUtil.getDiscordFromSQL(result[0]);
if (alreadyUUID != null) {
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("VerifyCommand.already-registered", event.getMessage().getTimeCreated(), alreadyUUID[0], alreadyUUID[1]).build()).queue();
return;
}
SQLiteUtil.removeSQLite(result[0], result[1]);
SQLUtil.putSQL(result[0], event.getAuthor().getId());

String discordID = event.getAuthor().getId();

EmbedBuilder embedBuilder = DiscordUtil.embedBuilder("VerifyCommand.success-register", event.getMessage().getTimeCreated(), result[0], discordID);
event.getMessage().replyEmbeds(embedBuilder.build()).queue();

DiscordUtil.sendMessageToChannel(DiscordUtil.embedBuilder("VerifyCommand.sendmessage", event.getMessage().getTimeCreated(), result[0], discordID));
DiscordUtil.AddRole(event.getGuild(), event.getMember());
} else {
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("VerifyCommand.length-big", event.getMessage().getTimeCreated(), null, null).build()).queue();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package net.klnetwork.playerrolechecker.JDA.Events;

import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
Expand All @@ -10,9 +9,6 @@
import net.klnetwork.playerrolechecker.Util.SQLUtil;
import org.jetbrains.annotations.NotNull;

import java.awt.*;

@SuppressWarnings("deprecation")
public class RemoveCommand extends ListenerAdapter {
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
Expand All @@ -24,35 +20,17 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) {
try {
uuid = OtherUtil.getUUID(args[1]).toString();
} catch (Exception exception) {
EmbedBuilder embedBuilder = new EmbedBuilder()
.setTitle("エラーが発生しました!")
.setColor(Color.RED)
.setDescription("エラー: 名前があっていません")
.setTimestamp(event.getMessage().getTimeCreated());
event.getMessage().reply(embedBuilder.build()).queue();
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("RemoveCommand.invalid-name", event.getMessage().getTimeCreated(), null, null).build()).queue();
}
String[] result = SQLUtil.getDiscordFromSQL(uuid);
if (result == null) {
EmbedBuilder embedBuilder = new EmbedBuilder()
.setTitle("エラーが発生しました!")
.setColor(Color.RED)
.setDescription("エラー: このUUIDはSQL内に登録されてないようです")
.addField("追加情報(UUID):", uuid, false)
.setTimestamp(event.getMessage().getTimeCreated());
event.getMessage().reply(embedBuilder.build()).queue();
event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("RemoveCommand.not-registered", event.getMessage().getTimeCreated(), null, null).build()).queue();
return;
}
SQLUtil.removeSQL(result[0], result[1]);
EmbedBuilder embedBuilder = new EmbedBuilder()
.setTitle("削除完了!")
.setColor(Color.GREEN)
.addField("UUID", result[0], false)
.addField("Discord:", result[1], false)
.setThumbnail("https://crafatar.com/avatars/" + result[0])
.setTimestamp(event.getMessage().getTimeCreated());
event.getMessage().reply(embedBuilder.build()).queue();

DiscordUtil.RemoveRole(event.getGuild(), event.getMember());

event.getMessage().replyEmbeds(DiscordUtil.embedBuilder("RemoveCommand.success-remove", event.getMessage().getTimeCreated(), uuid, result[1]).build()).queue();
}
}
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus;
import net.klnetwork.playerrolechecker.JDA.Events.ForceVerifyCommand;
import net.klnetwork.playerrolechecker.JDA.Events.ForceJoinCommand;
import net.klnetwork.playerrolechecker.JDA.Events.RemoveCommand;
import net.klnetwork.playerrolechecker.JDA.Events.VerifyCommand;
import net.klnetwork.playerrolechecker.JDA.Events.JoinCommand;

import javax.security.auth.login.LoginException;

Expand All @@ -18,7 +18,7 @@ public static void init(){
try {
jda = JDABuilder.createDefault(plugin.getConfig().getString("Discord.DiscordToken"))
.setStatus(OnlineStatus.ONLINE)
.addEventListeners(new VerifyCommand(),new RemoveCommand(), new ForceVerifyCommand())
.addEventListeners(new JoinCommand(),new RemoveCommand(), new ForceJoinCommand())
.build();
} catch (LoginException e) {
e.printStackTrace();
Expand Down
Loading

0 comments on commit 7801f7e

Please sign in to comment.