Discord Integration: A guide on using Discord through Roblox [UPDATED]

httpservice
discord
webhooks

#62

Please spend some time to read the previous responses in the thread before replying… your problem was already described above and why it happens.


#63

rip discord-roblox


#64

HTTPService sends the request through your own network while running Discord webhook code in studio. Discord blocked the Roblox server user agent. Studio doesn’t use that user agent, so your code will work fine until you publish online.


#65

How to bypass:

Disclamer: I do not know what I am talking about

  1. Get a website
  2. Make the website able to receive/resend data to discord
  3. Send webhook data to website
  4. Website sends it to discord
  5. Bypassed

Long story short: Don’t.


#66

@Kampfkarren’s post marked as solution is incorrect. You can definitely use proxy servers to send webhook requests.


(lolpython (Jake) is the lead backend developer at Discord)

My proxy server is public to use and I’ve checked with Discord staff to ensure you won’t be breaking any rules.

It’s very simple to use, you just replace “discordapp.com” in your webhook URL with “discord.osyr.is”


Webhook feedback system not working
#67

That’s exactly what a proxy/VPN is. A web server to route requests from clients.


#68

Correct post up until your proposed solution. Jake specifically said “through your own server”, and no I’m not arguing semantics. By having people proxy into the same server the same problem arises. Host your own server, don’t use somebody else’s.


#69

I disagree, the issue Discord has is with the amount of data going through each webhook, not from an individual server or service.

My server obeys the rate limits given by Discord.


#70

If your server obeys the rate limits given by Discord then it seems fine, although I’d still recommend everyone host their own server just because of security (not saying you’re untrustworthy, but as a general precaution).


#71

I completely agree! There’s a copy on Github and a Docker container for anyone that wants to do this.


#72

Their grievance isn’t obeying or even approaching the rate limit. Their issue is that Roblox HttpService doesn’t return headers, which contain error data, should the POST fail. As Roblox scripts cannot receive Discord API errors correctly, we cannot react to specific errors other than the fact that the POST failed. They said 88% of API calls were invalid, so it’s as if they’re being DDoSed with data they’ll have to reject, explain why they rejected, all for nothing since we don’t receive that data in the first place. Discord may lift this ban if Roblox allows headers to transit.


#73

This is essentially the same thing. If you cannot respond to Discord’s information about the API rate limits, you cannot obey them.


#74

How would I go about using embeds?


#75

You can see the structure of how embeds are supposed to look at https://discordapp.com/developers/docs/resources/channel#embed-object-embed-structure

And how webhook payloads are supposed to look at https://discordapp.com/developers/docs/resources/webhook#execute-webhook-jsonform-params

You can visualize webhooks in your browser on sites like https://leovoel.github.io/embed-visualizer/ (small note that you use "embeds": [{...}] and not "embed": {} for webhook payloads)


#76

I thought Roblox already allowed headers?


#77

That’s sending, not receiving.


#78

So bad, we’re far away from discord webhooks, I would test it, but it’s isn’t allowed in discord


#79

this should probably be locked, webhooks being used this way is banned on discord, no exceptions, pass through an api or something, you’re still violating discord’s tos


#80

Not entirely inherently. If there was a proxy designed to return the headers in JSON along with the discord API response, that would be in compliance with the Discord ToS.


#81

If you’d refer to the post by @Osyris, he links this tweet from the lead backend developer at Discord: