[GUI ADDED] AdminModule | Admin system based on new BanAPI. With Discord support!

Admin Module

This project is a comprehensive Roblox Admin Commands System based on the new BanAPI. It includes functionalities for banning and unbanning players, checking player ban history, and retrieving player IDs, all integrated with Discord for notification and logging purposes.


Features

  • Temporarily or permanently ban players with a reason.
  • Remove bans from players.
  • Retrieve the ban history log file of a player.
  • Retrieve a player’s ID based on their username.
  • Sends notifications to a Discord webhook for all actions.

Installation

  1. Place AdminModule ModuleScript in the ReplicatedStorage.
  2. Place AdminModuleCommandHandler ServerScript in the ServerScriptService.
  3. Place AdminModule ScreenGui in the StarterGui.
  4. Edit the Config ModuleScript.
  5. Make sure that files are placed correctly, like in the screenshot:
    image

Usage

/ban <PlayerID> <Duration> <Reason>

PlayerID - The ID of the player to be banned. [REQUIRED]
Duration - The duration of the ban (e.g., 10s, 5m, 2h, 1d). Use -1 for permanent ban. [OPTIONAL]
Reason - The reason for the ban. [OPTIONAL]

/unban <PlayerID>

PlayerID - The ID of the player to be unbanned. [REQUIRED]

/checkhistory <PlayerID>

PlayerID: The ID of the player whose ban history you want to check. [REQUIRED]

/getid <Username>

Username - The username of the player whose ID you want to retrieve. [REQUIRED]

Example

To ban a player with ID 12345 for 10 minutes with the reason Spamming, an admin would type:

/ban 12345 10m Spamming

Screenshots

Log example:

GUI:
image

License

This project is licensed under the MIT License - see the

LICENSE file for details.

Credits

Written by @MRBEGI (Github)
Special thanks to the Roblox Developer Community for the continuous support and resources.

Links

Get Module
Support Me
Github Repo

This is my first community resource post so please bear with me :lying_face:.

15 Likes

Does this support TextChatService? What I mean is the autofill section.

Unfortunately, no.
But I will work on it, thanks for the suggestion!

3 Likes

Update Log

Added Target's Roblox Profile link to all of the commands.

image

Also, I tried adding autocomplete as @emblazes requested above, but unfortunately I failed.
As far as I know, you can’t get user input text from Roblox’s new TextChatService.
If I’m wrong, correct me below and I’ll consider adding it.


If you have any requests on what to add to the module, please let me know and I will try to add it.
2 Likes

Would it be possible for you to release an open source UI implementation for this ban module?

1 Like

Do you mean executing commands using UI?

1 Like

Yes, that’s what I mean… Just a simple, modular, gui that could be used and modified. I believe chat commands just aren’t as good.

1 Like

Sure thing, I’ll cook it up soon

1 Like

Update Log

Added GUI as @wdnter requested. Default keybind is F4, you can change it in Config file.

image

I’m not a GUI designer, you can modify it if needed…


If you have any requests on what to add to the module, please let me know and I will try to add it.
1 Like

It looks good but I suggest adding the player photo and more info and change the ui, here is some discord webhook things to look at to help you, https://create.roblox.com/store/asset/17159429235/WebhookServices
pls note that this is no the best one out there, just search “webhook” on resources

1 Like

Is it possible to connect it to a group so only specific ranks will have permission to ban?

At this moment it’s not possible, but I’ll add it soon

Thank you for letting me know.

Hey there, I just wanted you to know that you have a big security leak in your module. Exploiters can read the Config.lua file in ReplicatedStorage, thus getting your Config.WebhookURL variable.
grafik
With that, they can (for example) spam your Discord Server with messages, possibly getting your account/server terminated. (Discord doesn’t like Embed spams)

You can fix it by splitting the Config module into a server shared and client shared part. The server shared part should be somewhere in ServerStorage or ServerScriptService so the Exploiters can’t access it.

Hope I could help :slight_smile:

1 Like

I don’t really have time to improve this module rn, but I will definitely get back to this post in the future!

Thanks for the help, you got the point!