@@ -92,6 +92,16 @@ export default class DiscordEmbed {
9292 return true ;
9393 }
9494
95+ /**
96+ * Truncates a string at a given length
97+ * @param text The input text to truncate
98+ * @param maxLength The allowed characters until truncation
99+ * @returns The truncated string
100+ */
101+ private async truncateText ( text : string , maxLength = 1024 ) : Promise < string > {
102+ return text . length > maxLength ? text . slice ( 0 , maxLength - 3 ) + '...' : text ;
103+ }
104+
95105 /**
96106 * Send server stats embed in a channel
97107 * @param serverStats
@@ -113,6 +123,8 @@ export default class DiscordEmbed {
113123 embed . setThumbnail ( config . application . serverMapUrl ) ;
114124
115125 let playerListString : string ;
126+ let playerListTitleString = `${ config . translation . discordEmbed . titlePlayerCount } (${ serverStats . getPlayerCount ( ) ?? 0 } /${ serverStats . getMaxPlayerCount ( ) ?? 0 } ):` ;
127+
116128 if ( serverStats . getPlayerList ( ) . length === 0 ) {
117129 playerListString = config . translation . discordEmbed . noPlayersOnline ;
118130 } else {
@@ -127,7 +139,7 @@ export default class DiscordEmbed {
127139 let serverMods = serverStats . getServerMods ( ) ;
128140 let serverModsText = "-/-" ;
129141 if ( serverMods . length > 0 ) {
130- serverModsText = serverMods . map ( mod => `${ mod . name } ` ) . join ( ', ' ) ;
142+ serverModsText = await this . truncateText ( serverMods . map ( mod => `${ mod . name } ` ) . join ( ', ' ) ) ;
131143 }
132144
133145 // @ts -ignore
@@ -138,12 +150,11 @@ export default class DiscordEmbed {
138150 { name : config . translation . discordEmbed . titleServerMap , value : serverStats . getServerMap ( ) } ,
139151 { name : config . translation . discordEmbed . titleServerMods , value : serverModsText } ,
140152 {
141- name : ` ${ config . translation . discordEmbed . titlePlayerCount } ( ${ serverStats . getPlayerCount ( ) } / ${ serverStats . getMaxPlayerCount ( ) } ):` ,
153+ name : playerListTitleString ,
142154 value : playerListString
143155 } ,
144156 ) ;
145157 }
146- this . appLogger . debug ( embed ) ;
147158 return embed ;
148159 }
149160}
0 commit comments