You can write your topic however you want, but you need to answer these questions:
What do you want to achieve? Keep it simple and clear!
I have plans to write an Object Oriented Discord webhook library along with a Object Oriented Discord embed creation API, I also have plans to open-source it with the pack of libraries I am still expanding.
What is the issue? Include screenshots / videos if possible!
Is it okay if I make this? Will Roblox ban me?
I also will be disclosing that the library does not have rate limiting and the developer using the library must implement it themselves.
There is nothing in the ToS that does not allow you to create APIs for other developers. An embed creation API is a good idea, and I don’t see any issues. I am not the professional on the Roblox ToS, but I don’t see why you couldn’t. Good luck!
Thank you for awnsering my question, you can see the pack of the libraries I made here:
It’s still too small to be released which is why I said I am still expanding it, the Discord libraries I will make will be put on that repo as the part of the collection.
Don’t see why you couldn’t. Here is one I made. discord embed.rbxl (30.5 KB)
I mimicked a JS style? where objects return self so that they can have chained function calls.
local Players = game:GetService("Players")
local Discord = require(script.Discord)
local Webhook, Embed, EmbedField = Discord.Webhook, Discord.Embed, Discord.EmbedField
local Robot = Webhook.new()
:SetUsername("Robot")
:SetAvatarURL("https://static.wikia.nocookie.net/sonic/images/5/52/Knuckles_9.png/revision/latest?cb=20180610104248")
:SetToken("https://canary.discord.com/api/webhooks/-/-")
local function LogPlayer(Player)
local Info = EmbedField.new()
:SetName("Name: ")
:SetValue(Player.Name)
local Message = Embed.new()
:SetTitle("Player Joined")
:SetDescription(Player.Name .. " has joined the game!")
:SetThumbnail(string.format("https://www.roblox.com/bust-thumbnail/image?userId=%d&width=420&height=420&format=png", Player.UserId))
:SetColor(0xFF0000)
:AddField(Info)
Robot
:SetContent("TEST")
:AddEmbed(Message)
:Post()
end
Players.PlayerAdded:Connect(LogPlayer)