[feat] Sockets, i guess mm hmm

# Conflicts:
#	Content.Server/Administration/Systems/BwoinkSystem.cs
#	Content.Server/Chat/Managers/ChatManager.cs
#	Content.Server/Entry/EntryPoint.cs
#	Content.Server/GameTicking/GameTicker.RoundFlow.cs
#	Content.Server/IoC/ServerContentIoC.cs
#	Content.Server/RoundEnd/RoundEndSystem.cs
#	Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs
#	Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs
#	Content.Shared/CCVar/CCVars.cs
This commit is contained in:
rhailrake
2023-04-27 06:01:05 +06:00
committed by Remuchi
parent eeec02119d
commit aca6843c0a
26 changed files with 1175 additions and 81 deletions

View File

@@ -6,6 +6,7 @@ using Content.Server.Administration.Managers;
using Content.Server.Administration.Systems;
using Content.Server.MoMMI;
using Content.Server.Preferences.Managers;
using Content.Server.UtkaIntegration;
using Content.Server.White.Sponsors;
using Content.Shared.Administration;
using Content.Shared.CCVar;
@@ -49,6 +50,7 @@ namespace Content.Server.Chat.Managers
/// WD-EDIT
[Dependency] private readonly SponsorsManager _sponsorsManager = default!;
[Dependency] private readonly UtkaTCPWrapper _utkaSocketWrapper = default!;
/// WD-EDIT
/// <summary>
@@ -170,7 +172,7 @@ namespace Content.Server.Chat.Managers
public void SendHookOOC(string sender, string message)
{
if (!_oocEnabled && _configurationManager.GetCVar(CCVars.DisablingOOCDisablesRelay))
if (_configurationManager.GetCVar(CCVars.DisableHookedOOC))
{
return;
}
@@ -179,6 +181,28 @@ namespace Content.Server.Chat.Managers
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Hook OOC from {sender}: {message}");
}
//WD-EDIT
public void SendHookAdminChat(string sender, string message)
{
var admins = _adminManager.ActiveAdmins;
var wrappedMessage = Loc.GetString("chat-manager-send-admin-chat-wrap-message",
("adminChannelName", Loc.GetString("chat-manager-admin-discord-channel-name")),
("playerName", sender), ("message", FormattedMessage.EscapeText(message)));
ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, EntityUid.Invalid, false, true, admins.Select(p => p.ConnectedClient));
var asayEventMessage = new UtkaChatEventMessage()
{
Command = "asay",
Ckey = sender,
Message = message
};
_utkaSocketWrapper.SendMessageToAll(asayEventMessage);
}
//WD-EDIT
#endregion
#region Public OOC Chat API
@@ -254,6 +278,17 @@ namespace Content.Server.Chat.Managers
ChatMessageToAll(ChatChannel.OOC, message, wrappedMessage, EntityUid.Invalid, hideChat: false, recordReplay: true, colorOverride: colorOverride, author: player.UserId);
_mommiLink.SendOOCMessage(player.Name, message);
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"OOC from {player:Player}: {message}");
//WD-EDIT
var toUtkaMessage = new UtkaChatEventMessage()
{
Command = "ooc",
Ckey = player.Name,
Message = message,
};
_utkaSocketWrapper.SendMessageToAll(toUtkaMessage);
//WD-EDIT
}
private void SendAdminChat(ICommonSession player, string message)
@@ -284,6 +319,17 @@ namespace Content.Server.Chat.Managers
}
_adminLogger.Add(LogType.Chat, $"Admin chat from {player:Player}: {message}");
//WD-EDIT
var asayEventMessage = new UtkaChatEventMessage()
{
Command = "asay",
Ckey = player.Name,
Message = message
};
_utkaSocketWrapper.SendMessageToAll(asayEventMessage);
//WD-EDIT
}
#endregion

View File

@@ -21,6 +21,7 @@ namespace Content.Server.Chat.Managers
void TrySendOOCMessage(ICommonSession player, string message, OOCChatType type);
void SendHookOOC(string sender, string message);
void SendHookAdminChat(string sender, string message); // WD-EDIT
void SendAdminAnnouncement(string message);
void SendAdminAlert(string message);
void SendAdminAlert(EntityUid player, string message);