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 =>
{