parent
f8916e818e
commit
af1ec4a2c8
27 changed files with 315 additions and 70 deletions
@ -1,24 +1,26 @@ |
|||||||
<component name="ArtifactManager"> |
<component name="ArtifactManager"> |
||||||
<artifact type="jar" build-on-make="true" name="DiscordAuthorizator:jar"> |
<artifact type="jar" build-on-make="true" name="DiscordAuthorizator:jar"> |
||||||
<output-path>$USER_HOME$/mineconomia/dev-server/plugins</output-path> |
<output-path>$USER_HOME$/Plocha/dev-server/plugins</output-path> |
||||||
<root id="archive" name="DiscordAuthorizator.jar"> |
<root id="archive" name="DiscordAuthorizator.jar"> |
||||||
<element id="module-output" name="DiscordAuthorizator" /> |
<element id="module-output" name="DiscordAuthorizator" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/squareup/okio/okio-jvm/3.6.0/okio-jvm-3.6.0.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/net/sf/trove4j/core/3.1.0/core-3.1.0.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/net/dv8tion/JDA/5.0.0-beta.23/JDA-5.0.0-beta.23.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/neovisionaries/nv-websocket-client/2.14/nv-websocket-client-2.14.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/squareup/okio/okio-jvm/3.6.0/okio-jvm-3.6.0.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.16.0/jackson-databind-2.16.0.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.16.0/jackson-databind-2.16.0.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.16.0/jackson-annotations-2.16.0.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.16.0/jackson-annotations-2.16.0.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/neovisionaries/nv-websocket-client/2.14/nv-websocket-client-2.14.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/json/json/20230618/json-20230618.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/squareup/okhttp3/okhttp/4.12.0/okhttp-4.12.0.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/net/dv8tion/JDA/5.0.0-beta.23/JDA-5.0.0-beta.23.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.16.0/jackson-core-2.16.0.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/squareup/okio/okio/3.6.0/okio-3.6.0.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/squareup/okio/okio/3.6.0/okio-3.6.0.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.16.0/jackson-core-2.16.0.jar" path-in-jar="/" /> |
|
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.10/kotlin-stdlib-common-1.9.10.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.10/kotlin-stdlib-common-1.9.10.jar" path-in-jar="/" /> |
||||||
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/squareup/okhttp3/okhttp/4.12.0/okhttp-4.12.0.jar" path-in-jar="/" /> |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/net/sf/trove4j/core/3.1.0/core-3.1.0.jar" path-in-jar="/" /> |
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/club/minnced/discord-webhooks/0.8.4/discord-webhooks-0.8.4.jar" path-in-jar="/" /> |
||||||
</root> |
</root> |
||||||
</artifact> |
</artifact> |
||||||
</component> |
</component> |
||||||
@ -1,6 +1,9 @@ |
|||||||
<component name="InspectionProjectProfileManager"> |
<component name="InspectionProjectProfileManager"> |
||||||
<profile version="1.0"> |
<profile version="1.0"> |
||||||
<option name="myName" value="Project Default" /> |
<option name="myName" value="Project Default" /> |
||||||
|
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true"> |
||||||
|
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,club.minnced.discord.webhook.WebhookClient,withUrl" /> |
||||||
|
</inspection_tool> |
||||||
<inspection_tool class="StringTemplateMigration" enabled="false" level="WARNING" enabled_by_default="false" /> |
<inspection_tool class="StringTemplateMigration" enabled="false" level="WARNING" enabled_by_default="false" /> |
||||||
<inspection_tool class="UNCHECKED_WARNING" enabled="false" level="WARNING" enabled_by_default="false" /> |
<inspection_tool class="UNCHECKED_WARNING" enabled="false" level="WARNING" enabled_by_default="false" /> |
||||||
</profile> |
</profile> |
||||||
|
|||||||
@ -0,0 +1,38 @@ |
|||||||
|
package xyz.soukup.discordauthorizator; |
||||||
|
|
||||||
|
import club.minnced.discord.webhook.WebhookClient; |
||||||
|
import club.minnced.discord.webhook.send.WebhookEmbed; |
||||||
|
import club.minnced.discord.webhook.send.WebhookMessage; |
||||||
|
import club.minnced.discord.webhook.send.WebhookMessageBuilder; |
||||||
|
|
||||||
|
public class WebHooks { |
||||||
|
|
||||||
|
public static void send(String WebHookURL, String name, String avatarURL, WebhookEmbed embed){ |
||||||
|
WebhookClient client = WebhookClient.withUrl(WebHookURL); |
||||||
|
WebhookMessage message = new WebhookMessageBuilder() |
||||||
|
.addEmbeds(embed) |
||||||
|
.setUsername(name) |
||||||
|
.setAvatarUrl(avatarURL) |
||||||
|
.build(); |
||||||
|
client.send(message); |
||||||
|
} |
||||||
|
public static void send(String WebHookURL, String name, String avatarURL, String content){ |
||||||
|
WebhookClient client = WebhookClient.withUrl(WebHookURL); |
||||||
|
WebhookMessage message = new WebhookMessageBuilder() |
||||||
|
.setContent(content) |
||||||
|
.setUsername(name) |
||||||
|
.setAvatarUrl(avatarURL) |
||||||
|
.build(); |
||||||
|
client.send(message); |
||||||
|
} |
||||||
|
public static void sendToAll(String name, String avatarURL, WebhookEmbed embed){ |
||||||
|
for (String url : DiscordAuthorizator.webHooks.values()){ |
||||||
|
send(url, name, avatarURL, embed); |
||||||
|
} |
||||||
|
} |
||||||
|
public static void sendToAll(String name, String avatarURL, String content){ |
||||||
|
for (String url : DiscordAuthorizator.webHooks.values()){ |
||||||
|
send(url, name, avatarURL, content); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,48 @@ |
|||||||
|
package xyz.soukup.discordauthorizator.events; |
||||||
|
|
||||||
|
import net.dv8tion.jda.api.JDA; |
||||||
|
import net.dv8tion.jda.api.entities.Guild; |
||||||
|
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; |
||||||
|
import net.dv8tion.jda.api.events.session.ReadyEvent; |
||||||
|
import net.dv8tion.jda.api.hooks.ListenerAdapter; |
||||||
|
import org.bukkit.Bukkit; |
||||||
|
import org.bukkit.configuration.file.FileConfiguration; |
||||||
|
import org.jetbrains.annotations.NotNull; |
||||||
|
import xyz.soukup.discordauthorizator.DiscordAuthorizator; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Objects; |
||||||
|
import java.util.Set; |
||||||
|
import java.util.logging.Logger; |
||||||
|
|
||||||
|
import static xyz.soukup.discordauthorizator.DiscordAuthorizator.webHooks; |
||||||
|
|
||||||
|
public class initializeCrossChat extends ListenerAdapter { |
||||||
|
@Override |
||||||
|
public void onReady(@NotNull ReadyEvent event){ |
||||||
|
JDA jda = DiscordAuthorizator.getJDA(); |
||||||
|
DiscordAuthorizator plugin = DiscordAuthorizator.getPlugin(DiscordAuthorizator.class); |
||||||
|
FileConfiguration config = plugin.getConfig(); |
||||||
|
Logger logger = plugin.getLogger(); |
||||||
|
|
||||||
|
|
||||||
|
//JDA CrossChat WebHook Initialization
|
||||||
|
Set<String> channels = Objects.requireNonNull(config.getConfigurationSection("channels")).getKeys(false); |
||||||
|
for(String channelID : channels){ |
||||||
|
logger.info(channelID); |
||||||
|
TextChannel channel = jda.getTextChannelById(channelID); |
||||||
|
String channelNickname = config.getString("channels." + channelID); |
||||||
|
if (channel == null){ |
||||||
|
logger.info("not exist"); |
||||||
|
continue; |
||||||
|
} |
||||||
|
channel.createWebhook("Server KNKS").queue((createdWebhook)->{ |
||||||
|
Guild guild = createdWebhook.getGuild(); |
||||||
|
String name = guild.getName(); |
||||||
|
webHooks.put(channelID, createdWebhook.getUrl()); |
||||||
|
logger.info("Vytvořen webhook pro: " + name + " Nickname: " + channelNickname); |
||||||
|
}); |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -1,5 +1,8 @@ |
|||||||
token: MTI1MTg1MjY2NDI2Mjg4NTQzNw.GB6jIc.QRulRHK5J-I88jvzCUkoKcx8r4vW2DrBOxHlR4 |
token: "TOKEN" |
||||||
authorized-role: 1236261645723111465 |
authorized-role: 0000000000000000001 |
||||||
guild: 1161967821815808030 |
guild: 0000000000000000001 |
||||||
chat-channel: 1247447721175027744 |
chat-channel: 0000000000000000001 |
||||||
|
#MUST NOT Contain word "discord" |
||||||
|
channels: |
||||||
|
0000000000000000001: "Channel One" |
||||||
|
0000000000000000002: "Channel Two" |
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue