Help me with this script

Can someone help me with this script?

What is wrong…?

local function discord(player, reason, serverid)
	local data = {
		["embed"] = {
			["title"] = "Hello",
			["description"] = "\n\n Player requested: ".. player.. " \n \n Reason: ".. reason.. " \n \n ServerId:".. serverid.. "\n \n To respond, join a server and type '/JoinServer(ServerId)' "
		}
	}
	httpService:JSONEncode(data)

	httpService:PostAsync(Settings.WebhookURL, data)
end

You are forgetting the serverid variable?

I think so because there is player, and reason, and serverid and there appears to be 2 Specified Variables taking the place of player and reason

First of all, roblox is being blocked by the discord servers, which means you can’t make requests through them. You should use some kind of a proxy server in order to do that. I would recommend using Heroku’s ones. Most of the times you do that by doing something like this:
POST, ProxyServerDomainName…Webhook

I want to add that data won’t be a reference after the conversion to a string which means it returns data and that’s why you should do:

data = JsonEncode(data)

not

JsonEncode(data)