Skip to content

Commit 67b4341

Browse files
committed
Don't send squelched messages
1 parent d61adc5 commit 67b4341

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

src/Atlasd/Battlenet/Channel.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,12 @@ public void WriteChatEvent(ChatEvent chatEvent, GameState owner = null)
946946
continue;
947947
}
948948

949+
if (ChatEvent.EventIdIsChatMessage(chatEvent.EventId) && RenderChannelFlags(owner, user).HasFlag(Account.Flags.Squelched))
950+
{
951+
// "user" has decided to squelch messages from "owner"
952+
continue;
953+
}
954+
949955
msg.Invoke(new MessageContext(user.Client, Protocols.MessageDirection.ServerToClient, args));
950956
user.Client.Send(msg.ToByteArray(user.Client.ProtocolType));
951957
}
@@ -972,9 +978,16 @@ public void WriteChatMessage(GameState owner, byte[] message, bool emote = false
972978
continue;
973979
}
974980

975-
var e = new ChatEvent(emote ? ChatEvent.EventIds.EID_EMOTE : ChatEvent.EventIds.EID_TALK, RenderChannelFlags(user, owner), owner.Ping, RenderOnlineName(user, owner), message);
981+
var flags = RenderChannelFlags(user, owner);
982+
if (flags.HasFlag(Account.Flags.Squelched))
983+
{
984+
// "user" has decided to squelch messages from "owner"
985+
continue;
986+
}
987+
988+
var chatEvent = new ChatEvent(emote ? ChatEvent.EventIds.EID_EMOTE : ChatEvent.EventIds.EID_TALK, flags, owner.Ping, RenderOnlineName(user, owner), message);
976989

977-
msg.Invoke(new MessageContext(user.Client, Protocols.MessageDirection.ServerToClient, new Dictionary<string, dynamic>() {{ "chatEvent", e }}));
990+
msg.Invoke(new MessageContext(user.Client, Protocols.MessageDirection.ServerToClient, new Dictionary<string, dynamic>() {{ "chatEvent", chatEvent }}));
978991
user.Client.Send(msg.ToByteArray(user.Client.ProtocolType));
979992
}
980993
}

0 commit comments

Comments
 (0)