Basic Moderation Tools (OPEN SOURCE)

Basic Moderation Tools is a fully open sourced admin commands script allowing for custom commands that can interface with the BasicMod API and features more than 30 admin commands to use when moderating your game. You have the option to bake the default commands into the Roblox Default Chat Commands by making your prefix ‘/’. BMT also allows for custom ranks for admin, the default ranks are: Guest, Donor, Mod, Admin, Superadmin, and owner. More is also on the way for command UI, a revamp into the ban system, and also more support for custom commands.

NOTE: Please note that this was not intended to be launched to the public and was just a small fun project I decided to do but I released it because some people could benefit from it.

Get Basic Moderation Tools here: https://create.roblox.com/store/asset/18286294212

Custom Commands Example Script:

local admins = { -- If you are wishing to use the default command and admin configuration for all default commands, paste in this and pick the module in the configuration that you wish to use: local defaultSetup = require(script.Parent.Parent.Parent.Parent["Basic Moderation Tools 2.0"])
	"PlayerHere";
	"PlayerHere";
}

local prefix = "$"

local remotesFolder = game.ReplicatedStorage:WaitForChild("_Remotes")
local announceRE = remotesFolder:WaitForChild("Announce")
local hintRE = remotesFolder:WaitForChild("Hint")

game.Players.PlayerAdded:Connect(function(plr)
	plr.Chatted:Connect(function(msg)
		if table.find(admins, plr.Name) then
			local splitMsg = string.split(msg, " ")
			local cmd = splitMsg[1]
			if cmd == prefix.."example" then
				announceRE:FireClient(plr, "BasicMod", "This is an admin command example that uses the BasicMod Announcement API!", 5) -- Format for announcement messages: (person to send to, title, message, time before dismissed)
			elseif cmd == prefix.."example2" then
				hintRE:FireClient(plr, "BasicMod", "This is an admin command example that uses the BasicMod Hint API!", 3) -- Format for hint messages: (person to send to, title, message, time before dismissed)
			end
		end
	end)
end)

-- To send a message to the entire server using the BasicMod Announcement API, use :FireAllClients() and remove plr.