It seems like TextChatService is acting up with using GetRoleInGroup for ChatTags.
I’ve recently switched over from ChatService(Speaker, SetTags etc) to TextChatService.
But i feel like i am getting stuck. For me it works fine, but for my other Developers i doesn’t, they recieve the same Chat tag as what i have.
I will show u the Module first.
function module.Overhead_GroupRanks()
local Overhead_Colours = {
["Founder"] = [[<font color="rgb(13, 105, 172)"> [Founder] </font>]]; -- Blue
["Developer"] = [[<font color="rgb(13, 105, 172)"> [Founder] </font>]];
["Mine"] = [[<font color="rgb(196, 112, 160)"> [Mine] </font>]]; -- Pink
["Contributor"] = [[<font color="rgb(107, 98, 155)"> [Council] </font>]]; -- Blue Purple
["Management"] = [[<font color="rgb(107, 50, 124)"> [Management] </font>]]; -- Purple
["Moderation"] = [[<font color="rgb(218, 133, 65)"> [Moderation] </font>]]; -- Orange
["Testing"] = [[<font color="rgb(245, 205, 48)"> [Testing] </font>]]; -- Yellow
["Content Creator"] = [[<font color="rgb(196, 40, 28)"> [Content Creator] </font>]]; -- Red
["Fans"] = [[<font color="rgb(40, 127, 71)"> [Fans] </font>]]; -- Green
}
return Overhead_Colours
end
TextChatService localScript
local TextChatService = game:GetService("TextChatService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Ranks = require(ReplicatedStorage.Modules["Ranks-Badges"].Ranks)
local Players = game:GetService("Players")
local GroupID = 7628430
TextChatService.OnIncomingMessage = function(message: TextChatMessage)
local properties = Instance.new("TextChatMessageProperties")
if message.TextSource then
local player = Players:GetPlayerByUserId(message.TextSource.UserId)
local PlayerRank = player:GetRoleInGroup(GroupID)
print(PlayerRank)
local InGroup = player:IsInGroup(GroupID)
if InGroup then
properties.PrefixText = Ranks.Overhead_GroupRanks()[PlayerRank] .. message.PrefixText
else
properties.PrefixText = [[<font color="rgb(238, 196, 182)"> [Guest] </font>]] .. message.PrefixText
end
end
return properties
end
