This repository has been archived on 2024-06-08. You can view files and clone it, but cannot push or open issues or pull requests.
RoHook/src/RoHook.lua

66 lines
1.4 KiB
Lua
Raw Normal View History

2020-11-01 16:53:00 +00:00
-- Norbunny
-- November 1, 2020
local httpService = game:GetService("HttpService")
local RoHook = {}
RoHook.__index = RoHook
function RoHook.new(url, username, avatar)
assert(url, "URL cannot be nil.")
local self = {
url = url,
username = username,
avatarUrl = avatar
}
2020-11-01 16:53:00 +00:00
setmetatable(self, RoHook)
2020-11-01 16:53:00 +00:00
return self
2020-11-01 16:53:00 +00:00
end
2020-11-01 18:40:36 +00:00
function RoHook:setUsername(username)
self.username = username
2020-11-01 16:53:00 +00:00
end
function RoHook:setAvatar(url)
2020-11-01 18:40:36 +00:00
self.avatarUrl = url
2020-11-01 16:53:00 +00:00
end
function RoHook:send(data)
2020-11-01 18:40:36 +00:00
local request = {
username = self.username,
avatar_url = self.avatarUrl
}
2020-11-01 16:53:00 +00:00
if data.ClassName == "RichEmbed" then
2020-11-01 18:40:36 +00:00
request.embeds = {data}
2020-11-01 16:53:00 +00:00
elseif data.ClassName == "Message" then
request.embeds = data.embeds or {}
request.content = data.content
end
local success, res = pcall(function()
local response = httpService:RequestAsync({
Url = self.url,
Method = "POST",
Headers = {
["Content-Type"] = "application/json"
},
Body = httpService:JSONEncode(request)
})
return response
end)
if not success then
error(string.format("POST request failed: %s", res))
else
assert(res.Success, string.format("Server replied with %s - %s", res.StatusCode, res.StatusMessage))
2020-11-01 16:53:00 +00:00
end
end
return RoHook