mirror of
https://github.com/System-End/Discord-MC-Chat.git
synced 2026-04-19 20:55:13 +00:00
小修代码
This commit is contained in:
parent
12a8bd6047
commit
df54e6482b
4 changed files with 30 additions and 27 deletions
|
|
@ -37,15 +37,12 @@ dependencies {
|
|||
|
||||
include 'net.sf.trove4j:trove4j:3.0.3'
|
||||
include 'org.apache.commons:commons-collections4:4.4'
|
||||
include 'org.apache.httpcomponents:httpclient:4.5.13'
|
||||
include 'org.jetbrains:annotations:22.0.0'
|
||||
include 'org.jetbrains.kotlin:kotlin-stdlib:1.5.31'
|
||||
include 'com.neovisionaries:nv-websocket-client:2.14'
|
||||
include 'com.fasterxml.jackson.core:jackson-annotations:2.13.0'
|
||||
include 'com.fasterxml.jackson.core:jackson-core:2.13.0'
|
||||
include 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
|
||||
include 'com.google.code.gson:gson:2.8.9'
|
||||
include 'com.neovisionaries:nv-websocket-client:2.14'
|
||||
include 'com.squareup.okhttp3:okhttp:4.9.2'
|
||||
include 'com.squareup.okio:okio:2.10.0'
|
||||
include(modImplementation("org.json:json:20210307"))
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ import net.dv8tion.jda.api.utils.MemberCachePolicy;
|
|||
import net.fabricmc.api.DedicatedServerModInitializer;
|
||||
import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Protocol;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import top.xujiayao.mcdiscordchat.commands.ShrugCommand;
|
||||
|
|
@ -25,7 +23,6 @@ import top.xujiayao.mcdiscordchat.utils.ConfigManager;
|
|||
|
||||
import java.net.URI;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* @author Xujiayao
|
||||
|
|
@ -45,17 +42,13 @@ public class Main implements DedicatedServerModInitializer {
|
|||
|
||||
try {
|
||||
if (Main.config.generic.membersIntents) {
|
||||
jda = JDABuilder.createDefault(Main.config.generic.botToken).setHttpClient(new OkHttpClient.Builder()
|
||||
.protocols(Collections.singletonList(Protocol.HTTP_1_1))
|
||||
.build())
|
||||
jda = JDABuilder.createDefault(Main.config.generic.botToken)
|
||||
.setMemberCachePolicy(MemberCachePolicy.ALL)
|
||||
.enableIntents(GatewayIntent.GUILD_MEMBERS)
|
||||
.addEventListeners(new DiscordEventListener())
|
||||
.build();
|
||||
} else {
|
||||
jda = JDABuilder.createDefault(Main.config.generic.botToken).setHttpClient(new OkHttpClient.Builder()
|
||||
.protocols(Collections.singletonList(Protocol.HTTP_1_1))
|
||||
.build())
|
||||
jda = JDABuilder.createDefault(Main.config.generic.botToken)
|
||||
.addEventListeners(new DiscordEventListener())
|
||||
.build();
|
||||
}
|
||||
|
|
@ -89,11 +82,11 @@ public class Main implements DedicatedServerModInitializer {
|
|||
}
|
||||
|
||||
for (String id : config.generic.superAdminsIds) {
|
||||
text.append("<@" + id + "> ");
|
||||
text.append("<@").append(id).append("> ");
|
||||
}
|
||||
|
||||
for (String id : config.generic.adminsIds) {
|
||||
text.append("<@" + id + "> ");
|
||||
text.append("<@").append(id).append("> ");
|
||||
}
|
||||
|
||||
textChannel.sendMessage(text).queue();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package top.xujiayao.mcdiscordchat.listeners;
|
||||
|
||||
import com.vdurmont.emoji.EmojiParser;
|
||||
import net.dv8tion.jda.api.EmbedBuilder;
|
||||
import net.dv8tion.jda.api.entities.MessageEmbed;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
|
|
@ -23,6 +25,7 @@ import top.xujiayao.mcdiscordchat.utils.DiscordCommandOutput;
|
|||
import top.xujiayao.mcdiscordchat.utils.MarkdownParser;
|
||||
import top.xujiayao.mcdiscordchat.utils.Scoreboard;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
|
@ -75,17 +78,17 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
StringBuilder infoString = new StringBuilder("```\n=============== " + (Main.config.generic.switchLanguageFromChinToEng ? "Server Status" : "运行状态") + " ===============\n\n");
|
||||
|
||||
List<ServerPlayerEntity> onlinePlayers = server.getPlayerManager().getPlayerList();
|
||||
infoString.append((Main.config.generic.switchLanguageFromChinToEng ? "Online players" : "在线玩家") + " (").append(onlinePlayers.size()).append(")" + (Main.config.generic.switchLanguageFromChinToEng ? ":" : ":"));
|
||||
infoString.append(Main.config.generic.switchLanguageFromChinToEng ? "Online players" : "在线玩家").append(" (").append(onlinePlayers.size()).append(")").append(Main.config.generic.switchLanguageFromChinToEng ? ":" : ":");
|
||||
|
||||
if (onlinePlayers.isEmpty()) {
|
||||
infoString.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "No players online!" : "当前没有在线玩家!"));
|
||||
infoString.append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "No players online!" : "当前没有在线玩家!");
|
||||
} else {
|
||||
for (ServerPlayerEntity player : onlinePlayers) {
|
||||
infoString.append("\n[").append(player.pingMilliseconds).append("ms] ").append(player.getEntityName());
|
||||
}
|
||||
}
|
||||
|
||||
infoString.append("\n\n" + (Main.config.generic.switchLanguageFromChinToEng ? "Server TPS:\n" : "服务器 TPS:\n"));
|
||||
infoString.append("\n\n").append(Main.config.generic.switchLanguageFromChinToEng ? "Server TPS:\n" : "服务器 TPS:\n");
|
||||
double serverTickTime = MathHelper.average(server.lastTickLengths) * 1.0E-6D;
|
||||
infoString.append(Math.min(1000.0 / serverTickTime, 20));
|
||||
|
||||
|
|
@ -184,7 +187,7 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
StringBuilder bannedList = new StringBuilder("```\n=============== " + (Main.config.generic.switchLanguageFromChinToEng ? "Blacklist" : "黑名单") + " ===============\n\nDiscord:");
|
||||
|
||||
if (Main.config.generic.bannedDiscord.size() == 0) {
|
||||
bannedList.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!"));
|
||||
bannedList.append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!");
|
||||
}
|
||||
|
||||
for (String id : Main.config.generic.bannedDiscord) {
|
||||
|
|
@ -194,7 +197,7 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
bannedList.append("\n\nMinecraft:");
|
||||
|
||||
if (Main.config.generic.bannedMinecraft.size() == 0) {
|
||||
bannedList.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!"));
|
||||
bannedList.append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!");
|
||||
}
|
||||
|
||||
for (String name : Main.config.generic.bannedMinecraft) {
|
||||
|
|
@ -253,17 +256,17 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
StringBuilder adminList = new StringBuilder("```\n=============== " + (Main.config.generic.switchLanguageFromChinToEng ? "Admin List" : "管理员名单") + " ===============\n\n" + (Main.config.generic.switchLanguageFromChinToEng ? "Super admins:" : "超级管理员:"));
|
||||
|
||||
if (Main.config.generic.superAdminsIds.size() == 0) {
|
||||
adminList.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!"));
|
||||
adminList.append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!");
|
||||
}
|
||||
|
||||
for (String id : Main.config.generic.superAdminsIds) {
|
||||
adminList.append("\n").append(id);
|
||||
}
|
||||
|
||||
adminList.append("\n\n" + (Main.config.generic.switchLanguageFromChinToEng ? "Admins:" : "普通管理员:"));
|
||||
adminList.append("\n\n").append(Main.config.generic.switchLanguageFromChinToEng ? "Admins:" : "普通管理员:");
|
||||
|
||||
if (Main.config.generic.adminsIds.size() == 0) {
|
||||
adminList.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!"));
|
||||
adminList.append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "List is empty!" : "列表为空!");
|
||||
}
|
||||
|
||||
for (String name : Main.config.generic.adminsIds) {
|
||||
|
|
@ -277,6 +280,17 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
LiteralText coloredText;
|
||||
LiteralText colorlessText;
|
||||
|
||||
e.getChannel().sendMessage(new EmbedBuilder()
|
||||
.setTitle("Test")
|
||||
.setColor(Color.red)
|
||||
.setDescription("Description")
|
||||
.addField("Title of field", "test of field", false)
|
||||
.setAuthor("name", null, "https://blog.xujiayao.top/file/avatar.jpg")
|
||||
.setFooter("Text", "https://github.com/zekroTJA/DiscordBot/blob/master/.websrc/zekroBot_Logo_-_round_small.png")
|
||||
.setImage("https://github.com/zekroTJA/DiscordBot/blob/master/.websrc/logo%20-%20title.png")
|
||||
.setThumbnail("https://github.com/zekroTJA/DiscordBot/blob/master/.websrc/logo%20-%20title.png")
|
||||
.build()).queue();
|
||||
|
||||
if (e.isWebhookMessage() || e.getAuthor().isBot()) {
|
||||
coloredText = new LiteralText(Main.texts.coloredText()
|
||||
.replace("%servername%", e.getAuthor().getName().substring(1, e.getAuthor().getName().indexOf("] ")))
|
||||
|
|
@ -295,7 +309,6 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
.replace("\n", Main.texts.removeLineBreakFromDiscord() ? " " : "\n")
|
||||
+ ((!e.getMessage().getAttachments().isEmpty()) ? " <att>" : "")
|
||||
+ ((!e.getMessage().getEmbeds().isEmpty()) ? " <embed>" : ""))));
|
||||
colorlessText.setStyle(colorlessText.getStyle().withColor(TextColor.fromFormatting(Formatting.GRAY)));
|
||||
} else {
|
||||
coloredText = new LiteralText(Main.texts.coloredText()
|
||||
.replace("%servername%", "Discord")
|
||||
|
|
@ -315,9 +328,10 @@ public class DiscordEventListener extends ListenerAdapter {
|
|||
.replace("\n", Main.texts.removeLineBreakFromDiscord() ? " " : "\n")
|
||||
+ ((!e.getMessage().getAttachments().isEmpty()) ? " <att>" : "")
|
||||
+ ((!e.getMessage().getEmbeds().isEmpty()) ? " <embed>" : ""))));
|
||||
colorlessText.setStyle(colorlessText.getStyle().withColor(TextColor.fromFormatting(Formatting.GRAY)));
|
||||
}
|
||||
|
||||
colorlessText.setStyle(colorlessText.getStyle().withColor(TextColor.fromFormatting(Formatting.GRAY)));
|
||||
|
||||
server.getPlayerManager().getPlayerList().forEach(
|
||||
serverPlayerEntity -> serverPlayerEntity.sendMessage(new LiteralText("").append(coloredText).append(colorlessText), false));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ public class Scoreboard {
|
|||
}
|
||||
|
||||
if (length == 0) {
|
||||
output.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "No result" : "无结果"));
|
||||
output.append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "No result" : "无结果");
|
||||
}
|
||||
|
||||
output.append("\n```");
|
||||
|
|
@ -110,8 +110,7 @@ public class Scoreboard {
|
|||
}
|
||||
|
||||
if (output == null) {
|
||||
output = new StringBuilder("```\n=============== " + (Main.config.generic.switchLanguageFromChinToEng ? "Scoreboard" : "排行榜") + " ===============\n")
|
||||
.append("\n" + (Main.config.generic.switchLanguageFromChinToEng ? "No result" : "无结果"))
|
||||
output = new StringBuilder("```\n=============== " + (Main.config.generic.switchLanguageFromChinToEng ? "Scoreboard" : "排行榜") + " ===============\n").append("\n").append(Main.config.generic.switchLanguageFromChinToEng ? "No result" : "无结果")
|
||||
.append("\n```");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue