TextChatService SendAsync always "sending"

Im trying to intercept a message before it is sent with TextChatService. Now, im pretty sure its impossible, for whatever reason, even though we have a Message Recieve CALLBACK we dont have a Message Sent CALLBACK.

Its kinda awful, since that means ill have to implement my own InputBar for chat, but its whatever as long as TextChannel:SendAsync() works. If it works, I can use Metadata parameter to encode a Lua table to a string and allow for some REALLY custom chat options. But every time i use SendAsync, it simply says my message status is “Sending.”

Heres my code:

local TextChatService = game:GetService("TextChatService")
local Channel =TextChatService:WaitForChild("TextChannels"):WaitForChild("RBXGeneral")
local Http = game:GetService("HttpService")
local TestTable = 
	{
		message="success",
		swag=true
	}
TextChatService.SendingMessage:connect(function(msg)
	print("Sending message! :",msg)
end)
TextChatService.MessageReceived:Connect(function(msg)
	print("msg recieved! :",msg)
end)
local Result = Channel:SendAsync("Hello!!!!!!")
print("Result status: ",Result.Status)
while wait(1) do
	print("Result status: ",Result.Status)
end

At the very end, I have a infinite loop that always checks on the status of my sent message. This script is a local script within player starter scripts, and everything works fine with normal messages sent by the default Roblox input bar. But if you try to send a message with SendAsync(), nothing. How do i resolve a Sending message? What has to happen?

If you want the most recent status of TextChatMessage, you will have to use the TextChatMessage instance from the MessageReceived event.

It seems TextChatMessage.Status returned by SendAsync() is returned by value, so it doesn’t update. Not sure if this is intentional or an engine bug.

True, but i forgot to state this: once a message has been sent using SendAsync(), it wont ever actually send. the code snippet provided doesnt actually have MessageReceived receive the message sent (Hello!!!). MessageReceived seems to work with the built in chat bar, but trying to SendAsync by some other custom way doesnt seem to work