ChatService GetSpeaker Returning Nil

Hi! For my game Strucid, I have VIP tags that I set through the Roblox :SetExtraTags() function. This function requires the “Speaker” object which is obtained through the :GetSpeaker(PlayerName) method of the ChatService module. However, for certain players, this function ALWAYS returns nil instead of the “Speaker” object (even after I repeatedly call the function multiple times after the player joins). Does anyone know why?

1 Like

GetSpeaker will return nil for console players, where the chat is not supported. That’s why you should check if the speaker isn’t nil before setting extra data.

My game is actually desktop only.

1 Like

There can be other factors which prevent a player from using the chat thus having a nil speaker, i.e. setting “Who can message me in game” to “No one” (haven’t confirmed that so don’t quote me on it), so the best you can do is simply check if the speaker is nil or not.

Yes but if the speaker is nil, then they don’t get their VIP tags );

ChatService exposes a SpeakerAdded event. I suggest you try that if you haven’t already.

https://developer.roblox.com/articles/Lua-Chat-System/API/ChatService

1 Like

Thank you. I’ll try that out. I don’t know if it’ll make a difference though.

I had this issue a day or so ago and the thing that I did wrong was I didn’t use the players
name inside the :GetSpeaker(Player.Name), instead I used the players object which is wrong. Also I found out that chat extras don’t show up in studio. Are we able to see your current code as it will make it a lot easier to help you?

No that’s not why. Sircfenner’s suggestion worked.