mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-26 14:37:44 +01:00
Do not attempt to send a message to no channels
Fix in both chat manager and DMAPI
This commit is contained in:
@@ -263,7 +263,12 @@
|
||||
for(var/I in channels)
|
||||
var/datum/tgs_chat_channel/channel = I
|
||||
ids += channel.id
|
||||
|
||||
message = UpgradeDeprecatedChatMessage(message)
|
||||
|
||||
if (!length(channels))
|
||||
return
|
||||
|
||||
message = list("message" = message.text, "channelIds" = ids)
|
||||
if(intercepted_message_queue)
|
||||
intercepted_message_queue += list(message)
|
||||
@@ -276,7 +281,12 @@
|
||||
var/datum/tgs_chat_channel/channel = I
|
||||
if (!channel.is_private_channel && ((channel.is_admin_channel && admin_only) || (!channel.is_admin_channel && !admin_only)))
|
||||
channels += channel.id
|
||||
|
||||
message = UpgradeDeprecatedChatMessage(message)
|
||||
|
||||
if (!length(channels))
|
||||
return
|
||||
|
||||
message = list("message" = message.text, "channelIds" = channels)
|
||||
if(intercepted_message_queue)
|
||||
intercepted_message_queue += list(message)
|
||||
|
||||
@@ -166,6 +166,10 @@
|
||||
ids += channel.id
|
||||
|
||||
message = UpgradeDeprecatedChatMessage(message)
|
||||
|
||||
if (!length(channels))
|
||||
return
|
||||
|
||||
message = message._interop_serialize()
|
||||
message[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = ids
|
||||
if(intercepted_message_queue)
|
||||
@@ -181,6 +185,10 @@
|
||||
channels += channel.id
|
||||
|
||||
message = UpgradeDeprecatedChatMessage(message)
|
||||
|
||||
if (!length(channels))
|
||||
return
|
||||
|
||||
message = message._interop_serialize()
|
||||
message[DMAPI5_CHAT_MESSAGE_CHANNEL_IDS] = channels
|
||||
if(intercepted_message_queue)
|
||||
|
||||
@@ -983,6 +983,10 @@ namespace Tgstation.Server.Host.Components.Chat
|
||||
/// <returns>A <see cref="Task"/> representing the running operation.</returns>
|
||||
Task SendMessage(IEnumerable<ulong> channelIds, Message replyTo, MessageContent message, CancellationToken cancellationToken)
|
||||
{
|
||||
channelIds = channelIds.ToList();
|
||||
if (!channelIds.Any())
|
||||
return Task.CompletedTask;
|
||||
|
||||
logger.LogTrace(
|
||||
"Chat send \"{message}\"{embed} to channels: {channelIdsCommaSeperated}",
|
||||
message.Text,
|
||||
|
||||
Reference in New Issue
Block a user