diff --git a/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs b/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs index ce87fa877d..8d4c551a41 100644 --- a/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs +++ b/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs @@ -323,7 +323,7 @@ namespace Tgstation.Server.Host.Components.Chat } /// - public void QueueMessage(string message, IEnumerable channelIds) + public void QueueMessage(MessageContent message, IEnumerable channelIds) { if (message == null) throw new ArgumentNullException(nameof(message)); @@ -333,10 +333,7 @@ namespace Tgstation.Server.Host.Components.Chat var task = SendMessage( channelIds, null, - new MessageContent - { - Text = message, - }, + message, handlerCts.Token); AddMessageTask(task); } @@ -356,7 +353,12 @@ namespace Tgstation.Server.Host.Components.Chat lock (mappedChannels) wdChannels = mappedChannels.Where(x => x.Value.IsWatchdogChannel).Select(x => x.Key).ToList(); - QueueMessage(message, wdChannels); + QueueMessage( + new MessageContent + { + Text = message + }, + wdChannels); } /// diff --git a/src/Tgstation.Server.Host/Components/Chat/IChatManager.cs b/src/Tgstation.Server.Host/Components/Chat/IChatManager.cs index 41e9acfa40..cb0265c334 100644 --- a/src/Tgstation.Server.Host/Components/Chat/IChatManager.cs +++ b/src/Tgstation.Server.Host/Components/Chat/IChatManager.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.Hosting; using Tgstation.Server.Api.Models.Internal; +using Tgstation.Server.Host.Components.Interop; namespace Tgstation.Server.Host.Components.Chat { @@ -48,9 +49,9 @@ namespace Tgstation.Server.Host.Components.Chat /// /// Queue a chat to a given set of . /// - /// The message being sent. + /// The being sent. /// The s of the s to send to. - void QueueMessage(string message, IEnumerable channelIds); + void QueueMessage(MessageContent message, IEnumerable channelIds); /// /// Queue a chat to configured watchdog channels. diff --git a/src/Tgstation.Server.Host/Components/Session/SessionController.cs b/src/Tgstation.Server.Host/Components/Session/SessionController.cs index e641a7ee51..21bdc758e2 100644 --- a/src/Tgstation.Server.Host/Components/Session/SessionController.cs +++ b/src/Tgstation.Server.Host/Components/Session/SessionController.cs @@ -321,7 +321,7 @@ namespace Tgstation.Server.Host.Components.Session return Error("Missing message field in chatMessage!"); chat.QueueMessage( - parameters.ChatMessage.Text, + parameters.ChatMessage, parameters.ChatMessage.ChannelIds.Select(UInt64.Parse)); break; case BridgeCommandType.Prime: diff --git a/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs b/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs index b0208d094c..369c7756e5 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs @@ -468,7 +468,7 @@ namespace Tgstation.Server.Host.Components.Watchdog if (result?.InteropResponse?.ChatResponses != null) foreach (var response in result.InteropResponse.ChatResponses) Chat.QueueMessage( - response.Text, + response, response.ChannelIds .Select(channelIdString => {