From 2024723403e1d797bd07997974318705dac24a45 Mon Sep 17 00:00:00 2001 From: JiveOff Date: Fri, 13 Sep 2024 21:03:30 +0200 Subject: [PATCH] feat: minimessage support --- .../rest/endpoints/services/Party.service.ts | 28 +++++++++++++------ src/realms/rest/helpers/Colors.ts | 18 ++++++++++++ src/realms/rest/helpers/SendMessage.ts | 5 ++-- 3 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 src/realms/rest/helpers/Colors.ts diff --git a/src/realms/rest/endpoints/services/Party.service.ts b/src/realms/rest/endpoints/services/Party.service.ts index ae73c80..62dff10 100644 --- a/src/realms/rest/endpoints/services/Party.service.ts +++ b/src/realms/rest/endpoints/services/Party.service.ts @@ -5,6 +5,7 @@ import { ApiError } from "../../helpers/Error" import { sendMessageToPlayer } from "../../helpers/SendMessage" import RedisClient from "../../../../clients/Redis" import PlayerService from "./Player.service" +import { ampersandColorToName } from "../../helpers/Colors" @Service() export default class PartyService { @@ -26,12 +27,17 @@ export default class PartyService { private static sendMessageToPlayer( proxyServer: string, uuid: string, - message: string + message: string, + mini = false ) { - return sendMessageToPlayer(proxyServer, "PARTY", uuid, message) + return sendMessageToPlayer(proxyServer, "PARTY", uuid, message, mini) } - public static async sendMessageToParty(partyId: number, message: string) { + public static async sendMessageToParty( + partyId: number, + message: string, + mini = false + ) { const party = await prisma.party.findUnique({ where: { id: partyId @@ -66,7 +72,8 @@ export default class PartyService { await PartyService.sendMessageToPlayer( party.owner.server.template.parentTemplateName, allPlayerUUIDs.join(","), - message + message, + mini ) } @@ -180,14 +187,17 @@ export default class PartyService { " &7a été invité dans le groupe !" ) + const miniMessage = `<${ampersandColorToName[owner.permGroups[0].color]}>${ + owner.username + } t'a invité dans son groupe ! Cliquez Rejoindre le groupe'>ici pour rejoindre le groupe !` + await PartyService.sendMessageToPlayer( player.server.template.parentTemplateName, playerUuid, - owner.permGroups[0].color + - owner.username + - "&a t'a invité dans son groupe ! &7Faites &e/party join " + - owner.username + - " &7pour rejoindre le groupe !" + miniMessage, + true ) await prisma.party.update({ diff --git a/src/realms/rest/helpers/Colors.ts b/src/realms/rest/helpers/Colors.ts new file mode 100644 index 0000000..6895728 --- /dev/null +++ b/src/realms/rest/helpers/Colors.ts @@ -0,0 +1,18 @@ +export const ampersandColorToName = { + "&0": "black", + "&1": "dark_blue", + "&2": "dark_green", + "&3": "dark_aqua", + "&4": "dark_red", + "&5": "dark_purple", + "&6": "gold", + "&7": "gray", + "&8": "dark_gray", + "&9": "blue", + "&a": "green", + "&b": "aqua", + "&c": "red", + "&d": "light_purple", + "&e": "yellow", + "&f": "white" +} as const diff --git a/src/realms/rest/helpers/SendMessage.ts b/src/realms/rest/helpers/SendMessage.ts index 31b08fa..7aa3f71 100644 --- a/src/realms/rest/helpers/SendMessage.ts +++ b/src/realms/rest/helpers/SendMessage.ts @@ -12,12 +12,13 @@ const sendMessageToPlayer = ( proxyServer: string, prefix: string, uuid: string, - message: string + message: string, + mini = false ) => { return RedisClient.getInstance().publishToPlugin( proxyServer, "Vicarius", - "sendMessage", + mini ? "sendMiniMessage" : "sendMessage", prefix, message, uuid