Remove StoredChatMessage (#12623)

This commit is contained in:
Leon Friedrich
2022-11-23 00:52:19 +13:00
committed by GitHub
parent 3dc6e2bb79
commit 6af331c9ff
11 changed files with 131 additions and 212 deletions

View File

@@ -13,6 +13,7 @@ using Robust.Shared.Configuration;
using Robust.Shared.Map;
using Robust.Shared.Network;
using Robust.Shared.Player;
using Robust.Shared.Replays;
using Robust.Shared.Utility;
namespace Content.Server.Chat.Managers
@@ -30,15 +31,13 @@ namespace Content.Server.Chat.Managers
{ "revolutionary", "#aa00ff" }
};
[Dependency] private readonly IReplayRecordingManager _replay = default!;
[Dependency] private readonly IServerNetManager _netManager = default!;
[Dependency] private readonly IMoMMILink _mommiLink = default!;
[Dependency] private readonly IAdminManager _adminManager = default!;
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly IServerPreferencesManager _preferencesManager = default!;
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
private StationSystem _stationSystem = default!;
/// <summary>
/// The maximum length a player-sent message can be sent
@@ -50,7 +49,6 @@ namespace Content.Server.Chat.Managers
public void Initialize()
{
_stationSystem = _entityManager.EntitySysManager.GetEntitySystem<StationSystem>();
_netManager.RegisterNetMessage<MsgChatMessage>();
_configurationManager.OnValueChanged(CCVars.OocEnabled, OnOocEnabledChanged, true);
@@ -78,7 +76,7 @@ namespace Content.Server.Chat.Managers
public void DispatchServerAnnouncement(string message, Color? colorOverride = null)
{
var wrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", FormattedMessage.EscapeText(message)));
ChatMessageToAll(ChatChannel.Server, message, wrappedMessage, colorOverride);
ChatMessageToAll(ChatChannel.Server, message, wrappedMessage, EntityUid.Invalid, hideChat: false, recordReplay: true, colorOverride: colorOverride);
Logger.InfoS("SERVER", message);
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Server announcement: {message}");
@@ -99,7 +97,7 @@ namespace Content.Server.Chat.Managers
var wrappedMessage = Loc.GetString("chat-manager-send-admin-announcement-wrap-message",
("adminChannelName", Loc.GetString("chat-manager-admin-channel-name")), ("message", FormattedMessage.EscapeText(message)));
ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, default, false, clients);
ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, default, false, true, clients);
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Admin announcement from {message}: {message}");
}
@@ -110,7 +108,7 @@ namespace Content.Server.Chat.Managers
return;
}
var wrappedMessage = Loc.GetString("chat-manager-send-hook-ooc-wrap-message", ("senderName", sender), ("message", FormattedMessage.EscapeText(message)));
ChatMessageToAll(ChatChannel.OOC, message, wrappedMessage);
ChatMessageToAll(ChatChannel.OOC, message, wrappedMessage, source: EntityUid.Invalid, hideChat: false, recordReplay: true);
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Hook OOC from {sender}: {message}");
}
@@ -176,7 +174,7 @@ namespace Content.Server.Chat.Managers
}
//TODO: player.Name color, this will need to change the structure of the MsgChatMessage
ChatMessageToAll(ChatChannel.OOC, message, wrappedMessage, colorOverride);
ChatMessageToAll(ChatChannel.OOC, message, wrappedMessage, EntityUid.Invalid, hideChat: false, recordReplay: true, colorOverride);
_mommiLink.SendOOCMessage(player.Name, message);
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"OOC from {player:Player}: {message}");
}
@@ -193,7 +191,7 @@ namespace Content.Server.Chat.Managers
var wrappedMessage = Loc.GetString("chat-manager-send-admin-chat-wrap-message",
("adminChannelName", Loc.GetString("chat-manager-admin-channel-name")),
("playerName", player.Name), ("message", FormattedMessage.EscapeText(message)));
ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, default, false, clients.ToList());
ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, default, false, true, clients.ToList());
_adminLogger.Add(LogType.Chat, $"Admin chat from {player:Player}: {message}");
}
@@ -202,40 +200,32 @@ namespace Content.Server.Chat.Managers
#region Utility
public void ChatMessageToOne(ChatChannel channel, string message, string wrappedMessage, EntityUid source, bool hideChat, INetChannel client, Color? colorOverride = null)
public void ChatMessageToOne(ChatChannel channel, string message, string wrappedMessage, EntityUid source, bool hideChat, INetChannel client, Color? colorOverride = null, bool recordReplay = false)
{
var msg = new MsgChatMessage();
msg.Channel = channel;
msg.Message = message;
msg.WrappedMessage = wrappedMessage;
msg.SenderEntity = source;
msg.HideChat = hideChat;
if (colorOverride != null)
{
msg.MessageColorOverride = colorOverride.Value;
}
_netManager.ServerSendMessage(msg, client);
var msg = new ChatMessage(channel, message, wrappedMessage, source, hideChat, colorOverride);
_netManager.ServerSendMessage(new MsgChatMessage() { Message = msg }, client);
if (recordReplay)
_replay.QueueReplayMessage(msg);
}
public void ChatMessageToMany(ChatChannel channel, string message, string wrappedMessage, EntityUid source, bool hideChat, IEnumerable<INetChannel> clients, Color? colorOverride = null)
public void ChatMessageToMany(ChatChannel channel, string message, string wrappedMessage, EntityUid source, bool hideChat, bool recordReplay, IEnumerable<INetChannel> clients, Color? colorOverride = null)
=> ChatMessageToMany(channel, message, wrappedMessage, source, hideChat, recordReplay, clients.ToList(), colorOverride);
public void ChatMessageToMany(ChatChannel channel, string message, string wrappedMessage, EntityUid source, bool hideChat, bool recordReplay, List<INetChannel> clients, Color? colorOverride = null)
{
var msg = new MsgChatMessage();
msg.Channel = channel;
msg.Message = message;
msg.WrappedMessage = wrappedMessage;
msg.SenderEntity = source;
msg.HideChat = hideChat;
if (colorOverride != null)
{
msg.MessageColorOverride = colorOverride.Value;
}
_netManager.ServerSendToMany(msg, clients.ToList());
var msg = new ChatMessage(channel, message, wrappedMessage, source, hideChat, colorOverride);
_netManager.ServerSendToMany(new MsgChatMessage() { Message = msg }, clients);
if (recordReplay)
_replay.QueueReplayMessage(msg);
}
public void ChatMessageToManyFiltered(Filter filter, ChatChannel channel, string message, string wrappedMessage, EntityUid source,
bool hideChat, Color? colorOverride = null)
bool hideChat, bool recordReplay, Color? colorOverride = null)
{
if (!filter.Recipients.Any()) return;
if (!recordReplay && !filter.Recipients.Any())
return;
var clients = new List<INetChannel>();
foreach (var recipient in filter.Recipients)
@@ -243,20 +233,16 @@ namespace Content.Server.Chat.Managers
clients.Add(recipient.ConnectedClient);
}
ChatMessageToMany(channel, message, wrappedMessage, source, hideChat, clients, colorOverride);
ChatMessageToMany(channel, message, wrappedMessage, source, hideChat, recordReplay, clients, colorOverride);
}
public void ChatMessageToAll(ChatChannel channel, string message, string wrappedMessage, Color? colorOverride = null)
public void ChatMessageToAll(ChatChannel channel, string message, string wrappedMessage, EntityUid source, bool hideChat, bool recordReplay, Color? colorOverride = null)
{
var msg = new MsgChatMessage();
msg.Channel = channel;
msg.Message = message;
msg.WrappedMessage = wrappedMessage;
if (colorOverride != null)
{
msg.MessageColorOverride = colorOverride.Value;
}
_netManager.ServerSendToAll(msg);
var msg = new ChatMessage(channel, message, wrappedMessage, source, hideChat, colorOverride);
_netManager.ServerSendToAll(new MsgChatMessage() { Message = msg });
if (recordReplay)
_replay.QueueReplayMessage(msg);
}
public bool MessageCharacterLimit(IPlayerSession? player, string message)