Discord Webhook Proxy

Application centres are permitted.

Ensure users cannot spam submit/the remote on server side to prevent abuse.

I don’t think this works anymore

Edit: It only works with normal message, I tried to send embeds and it didn’t work

It’s definitely working. Your embeds are likely not using the correct structure.

1 Like

I will try it again soon, where do you think I can find the correct structure?

Does this violate community guidelines?

You’ll find the information on the Discord Developer Portal on how to correctly format and encode your requests.

Its not working



local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")
local ServerStorage = game:GetService("ServerStorage")
local ProxyURL = "https://hooks.hyra.io/api/webhooks/1100198774078447656/EdiSSU09m2E-M39TtJTRK0ABae6drvyGXtk2MEiNEODcXUFtNcHw2CQWrW8eyxf476FE"


module.SendWebhook = function(ContentTable)
    if not tostring(ContentTable[3]) then return end
    local Data = {
        ["Content"] = ":warning: __**NEW REPORT!!**__";
        ["Embeds"] = {{
            ["Author"] = {
                ["Name"] = tostring(ContentTable[1]);
                ["Icon-url"] = "https://www.roblox.com/headshot-thumbnail/image?userId="..Players:GetUserIdFromNameAsync(tostring(ContentTable[1])).."&width=150&height=150&format=png"
            };
            ["Description"] = "**"..tostring(ContentTable[1]).." Has reported: **"..tostring(ContentTable[2]).."**";
            ["Color"] = tonumber(0xffffff);
            ["Fields"] = {
                {
                    ["Name"] = "Reported User";
                    ["Value"] = tostring(ContentTable[2]);
                    ["Inline"] = true;
                };
                {
                    ["Name"] = "Reason";
                    ["Value"] = tostring(ContentTable[3]);
                    ["Inline"] = true;
                };
                {
                    ["Name"] = "Account Age";
                    ["Value"] = Players:GetPlayerByUserId(tonumber(ContentTable[4])).AccountAge.." days";
                    ["Inline"] = true;
                };
                {
                    ["Name"] = "Game ID";
                    ["Value"] = tostring(ServerStorage.JoinCode.Value);
                    ["Inline"] = true;
                };
            };
            ["Footer"] = {
                ["Icon_Url"] = "";
                ["text"] = "Developed By ILOVEPOWERPUFF3! :D"
            }
        }}
    }
    HttpService:PostAsync(ProxyURL, HttpService:JSONDecode(Data))
end
return module

I did that and nothing works

Nevermind, I got it working (char)

Amazing creation. I will surely use this!

Server seems to either be very slow or unresponsive returning HTTP 522
Is there a chance you could look at it?

The service is for some reason taking forever to post. Some times it just gives me a 504 timeout error. I have been using hyra for a long time now and this is the first time this is happening. What am I doing wrong?

local HookData = {
	["content"] = "hello",
}
game:GetService("HttpService"):PostAsync(hook, game:GetService("HttpService"):JSONEncode(HookData))

pretty dang slow, takes two minutes or more to post



You can use my module, its simple to use.

:cry: Rest in peace, officially gone today.

Looks like it’s back now. So much for that “100% uptime”…

I’ve noticed a lot of issues with it, I love Hyra but I had to switch

Sorry! :frowning:

It’s hard to keep this running all of the time without any blips. I try my best, but this is a free service that’s increasingly expensive to run. I hope you understand.

2 Likes

All good, the other webhook services arent good at all. Will be switching back soon.

Thank you for continuing to maintain this. It is very helpful and easy to use.

1 Like

I seem to have a suggestion for you. Make the website dark mode so we don’t get flash banged at 3am

1 Like