Fix: Admin-only messages still show "(S)" on Discord (#35431)

Fix
This commit is contained in:
Winkarst
2025-02-24 00:43:14 +03:00
committed by GitHub
parent 1404095f27
commit 91f2c46f56

View File

@@ -759,6 +759,7 @@ namespace Content.Server.Administration.Systems
_gameTicker.RoundDuration().ToString("hh\\:mm\\:ss"), _gameTicker.RoundDuration().ToString("hh\\:mm\\:ss"),
_gameTicker.RunLevel, _gameTicker.RunLevel,
playedSound: playSound, playedSound: playSound,
adminOnly: message.AdminOnly,
noReceivers: nonAfkAdmins.Count == 0 noReceivers: nonAfkAdmins.Count == 0
); );
_messageQueues[msg.UserId].Enqueue(GenerateAHelpMessage(messageParams)); _messageQueues[msg.UserId].Enqueue(GenerateAHelpMessage(messageParams));
@@ -790,7 +791,7 @@ namespace Content.Server.Administration.Systems
.ToList(); .ToList();
} }
private static DiscordRelayedData GenerateAHelpMessage(AHelpMessageParams parameters) private DiscordRelayedData GenerateAHelpMessage(AHelpMessageParams parameters)
{ {
var stringbuilder = new StringBuilder(); var stringbuilder = new StringBuilder();
@@ -806,7 +807,7 @@ namespace Content.Server.Administration.Systems
if (parameters.RoundTime != string.Empty && parameters.RoundState == GameRunLevel.InRound) if (parameters.RoundTime != string.Empty && parameters.RoundState == GameRunLevel.InRound)
stringbuilder.Append($" **{parameters.RoundTime}**"); stringbuilder.Append($" **{parameters.RoundTime}**");
if (!parameters.PlayedSound) if (!parameters.PlayedSound)
stringbuilder.Append(" **(S)**"); stringbuilder.Append($" **{(parameters.AdminOnly ? Loc.GetString("bwoink-message-admin-only") : Loc.GetString("bwoink-message-silent"))}**");
if (parameters.Icon == null) if (parameters.Icon == null)
stringbuilder.Append($" **{parameters.Username}:** "); stringbuilder.Append($" **{parameters.Username}:** ");
else else
@@ -869,6 +870,7 @@ namespace Content.Server.Administration.Systems
public string RoundTime { get; set; } public string RoundTime { get; set; }
public GameRunLevel RoundState { get; set; } public GameRunLevel RoundState { get; set; }
public bool PlayedSound { get; set; } public bool PlayedSound { get; set; }
public readonly bool AdminOnly;
public bool NoReceivers { get; set; } public bool NoReceivers { get; set; }
public string? Icon { get; set; } public string? Icon { get; set; }
@@ -879,6 +881,7 @@ namespace Content.Server.Administration.Systems
string roundTime, string roundTime,
GameRunLevel roundState, GameRunLevel roundState,
bool playedSound, bool playedSound,
bool adminOnly = false,
bool noReceivers = false, bool noReceivers = false,
string? icon = null) string? icon = null)
{ {
@@ -888,6 +891,7 @@ namespace Content.Server.Administration.Systems
RoundTime = roundTime; RoundTime = roundTime;
RoundState = roundState; RoundState = roundState;
PlayedSound = playedSound; PlayedSound = playedSound;
AdminOnly = adminOnly;
NoReceivers = noReceivers; NoReceivers = noReceivers;
Icon = icon; Icon = icon;
} }