Chat system help

I have been stuck on this for a while now and simply can’t figure it out. I’m working on a chat system that lets you filter the messages you want to receive, very similar to WoW. For instance, in settings i can check ‘global’ and ‘guild’ but i do not want ‘party’ in that particular chatbox. Based on those preferences, i can imagine how the data flows through the clients but I am relatively new to networking and can’t completely fathom how to use the networking classes.

At this point, i am sending message data to player controller from the widget. The player controller runs a server executed function to update the message array of every client while grabbing the player array from the gamestate and thus getting their player controller index. Then I am asking the controller blueprint if the variable (filter for that specific chat) is true/false. If true, i run a “executes on owning client” function that updates message array of that client and the ui widget. Screenshot:

The question is, am i using the correct networking class, aka player controller and if not, which class should i use to filter this data and send it to all of the players who want the message.