Discord Webhook Proxy

This is likely an issue with your code. The proxy does not behave differently based on where you use it, so if you are not seeing any results it’s the request is not being sent/your bind to close is not valid.

Do you get a response such as an error?

Yes, I received an HTTP 400 Bad Request error.

After some testing, PostAsync() WAS erroring with HTTP 400 because apparently some part of an involved system suddenly no longer accepts the content field being an empty string (like ["content"] = ""). Removing ["content"] = "" from the table that’s to be encoded to JSON fixed it.

1 Like

Can you send your hook ID in messages? It’s the numeric part of the URL.


This is correct. To improve performance for all users, a change was added to the proxy to validate requests without sending them to Discord. I apologise about this producing this unexpected result.

Sent, it is probably erroring due to the content table just as ZoomDoomBoom said, it seems to be working fine with other webhooks.

Doesn’t work anymore for me for some reason

1 Like

Strange, it’s still working for me. Did you check the URL?

Yeah, I am currently using my own proxy from another devforum. I think discord is blocking most webhooks now or something.

They are not being blocked - 95% of requests succeeded in the last 24 hours.

You are likely:

  • Sending invalid data
  • Sending too much data (above the character/embed limit)
  • Banned from the proxy
  • Sending too many requests

I can trace the error for you if you send me your webhook ID (the numeric part of the webhook URL) via messages.

1 Like

Is it possible to get responses from discord through this proxy?

It will return exactly what Discord returns.

Will this change affect the proxy? [Action Needed] Sunsetting api.roblox.com

No, the proxy does not interact with Roblox’s APIs. :slight_smile:

If any changes are made to the Discord API in the future, I will update the proxy to work with it - you’ll never need to make any changes. :+1:

Does this proxy support editting messages?

When I use the ?wait=true tag, this still doesn’t return a body. When I do the same request but directly to discord, it returns the body.

Yes, the proxy does support editing messages.

This feature is not currently supported.

I am getting a Bad Request 400 Error, how come as the webhook is correct and my code is correct

local module = {}

local HTTP = game:GetService("HttpService")
local Webhookk = nil

function getURLData()
	if HTTP:GetAsync(Webhookk) then
		return HTTP:GetAsync(Webhookk)

function module.Embed(Title, Desc, Webhook)
	warn(Title .. Desc .. Webhook)
	Webhookk = Webhook
	local MessageData = {
		['content'] = "-",
		['embeds'] = {
			['title'] = Title,
			['description'] = Desc,
			['color'] = 5793266,
			["footer"] = {
				--["icon_url"] = "https://t7.rbxcdn.com/860f4bd39be19546ce3cf0bfd6b1c4b0", -- optional
				["text"] = "Music System"
	local success, responseBody = pcall(getURLData)
	if success then
		local FinalData = HTTP:JSONEncode(MessageData)
		HTTP:PostAsync(Webhook, FinalData)
		warn("HTTPService is currently not enabled or you have inputted an invalid webhook. To turn on HTTPService, toggle it on inside game settings.")

return module

How can I edit a message, if I don’t receive the message id after sending a POST request?