Fix admin chat relay sending to every player online (#37795)
This commit is contained in:
@@ -201,8 +201,23 @@ internal sealed partial class ChatManager : IChatManager
|
|||||||
|
|
||||||
public void SendHookAdmin(string sender, string message)
|
public void SendHookAdmin(string sender, string message)
|
||||||
{
|
{
|
||||||
|
var clients = _adminManager.ActiveAdmins.Select(p => p.Channel);
|
||||||
|
|
||||||
var wrappedMessage = Loc.GetString("chat-manager-send-hook-admin-wrap-message", ("senderName", sender), ("message", FormattedMessage.EscapeText(message)));
|
var wrappedMessage = Loc.GetString("chat-manager-send-hook-admin-wrap-message", ("senderName", sender), ("message", FormattedMessage.EscapeText(message)));
|
||||||
ChatMessageToAll(ChatChannel.AdminChat, message, wrappedMessage, source: EntityUid.Invalid, hideChat: false, recordReplay: false);
|
foreach (var client in clients)
|
||||||
|
{
|
||||||
|
ChatMessageToOne(
|
||||||
|
ChatChannel.AdminChat,
|
||||||
|
message,
|
||||||
|
wrappedMessage,
|
||||||
|
source: EntityUid.Invalid,
|
||||||
|
hideChat: false,
|
||||||
|
client: client,
|
||||||
|
recordReplay: false,
|
||||||
|
audioPath: _netConfigManager.GetClientCVar(client, CCVars.AdminChatSoundPath),
|
||||||
|
audioVolume: _netConfigManager.GetClientCVar(client, CCVars.AdminChatSoundVolume));
|
||||||
|
}
|
||||||
|
|
||||||
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Hook admin from {sender}: {message}");
|
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Hook admin from {sender}: {message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user