Moderation with clear rules
Turn warning thresholds into kicks, bans, mutes, timeouts, or temporary actions. Staff roles and logging keep the workflow organized.
JGL Bot for Discord
Manage warnings, bans, word filtering, reaction roles, private tickets, reminders, and welcome messages in one configurable Discord bot—so your team can focus on the community.
Built for real communities
Give members a smoother experience and give staff one consistent toolkit for the work that keeps a server healthy.
Turn warning thresholds into kicks, bans, mutes, timeouts, or temporary actions. Staff roles and logging keep the workflow organized.
Create polished reaction-role messages so members can select colors, interests, notifications, or access without waiting for staff.
Let members open a ticket with a reason, keep the conversation in its own channel, and close it cleanly when the issue is resolved.
Customize welcome and goodbye messages, route activity to the right channels, connect dependent roles, and keep useful reminders close.
Quick start
Add the bot, review the current configuration, and switch on the tools your community needs.
Choose your Discord server and authorize the permissions needed for its moderation and community tools.
Open inviteReview roles, channels, messages, warning punishments, or miscellaneous settings by configuration area.
/config roles
Set your Staff role, choose an existing category, and decide how ticket notifications and limits should work.
/tickets setup mention_staff: True max_tickets: 1 category: Support
Documentation
Use these slash commands in Discord to configure and operate JGL Bot. Copy any example, then replace the sample values with your own.
Configuration is organized into roles, channels, messages, warning punishments, and miscellaneous settings.
Access: server administrators and the configured Staff role can view settings. Only the server owner can change or reset them.
/config roles/config channels/config messages/config punishments/config miscSet all to True to reset every area, or set one or more individual areas to True.
/config reset all: True/config reset roles: True channels: TrueAvailable reset options: punishments, roles, channels, messages, misc, and all.
Assign the roles JGL Bot uses for moderation and staff permissions.
/set role name: Mute role: @mutedTo unset a role: omit the optional role argument—for example, /set role name: Mute.
Choose where welcome messages, goodbye messages, and logs should appear.
/set channel name: Logging channel: #loggingTo unset a channel: omit the optional channel argument—for example, /set channel name: Logging.
Messages may be up to 2,000 characters. Use {member} where the joining or leaving member’s display name should appear.
/set message name: Welcome message: {member} has joined the server!To unset a message: omit the optional message argument—for example, /set message name: Welcome.
This example temporarily bans a member for five days when they reach seven warnings. A duration and number are required for Temp Ban, Temp Mute, and Timeout.
/set punishment punishment: Temp Ban warning: 7 duration: Days number: 5Limits and removal: timeouts cannot exceed 28 days. To remove the punishment for warning seven, use /set punishment warning: 7 and omit the optional punishment.
Choose when warnings expire: 1 Day, 3 Days, 1 Week, 2 Weeks, 1 Month, or Never.
/set expiry expiry: 2 WeeksJGL Bot includes direct moderation actions, persistent role-based mutes, Discord timeouts, temporary actions, and a warning system that can trigger the punishments configured above.
Access: moderation commands are available to server administrators and the configured Staff role. JGL Bot needs administrator permission for actions that change members, roles, bans, or timeouts.
Reasons are optional. Soft ban briefly bans and immediately unbans a member to clear recent message history.
/kick member: @member reason: Repeated rule violations/ban member: @member reason: Spam/unban user: @member/softban member: @member reason: Clear recent message historyRole-based muting uses the configured Mute role. If Mute Remove is configured, that role is removed while the member is muted and restored when they are unmuted.
/mute member: @member reason: Disruptive behavior/unmute member: @member/tempmute member: @member hours: 2 reason: Cool-down periodTemporary mutes and bans require a duration greater than zero. Timeouts may use seconds, minutes, hours, or days and cannot exceed 28 days.
/tempban member: @member days: 3 reason: Repeated spam/timeout member: @member minutes: 30 reason: Cool-down periodRemove a timeout: run /timeout member: @member without a duration.
Add a warning, review all active warnings or one warning number, and remove selected warnings or all of them.
/warn member: @member reason: Ignored moderator instructions/warnings member: @member/warnings member: @member warning: 2/unwarn member: @member number: 2,3/unwarn member: @member number: allAutomatic behavior: active mutes are restored if a member rejoins, temporary mutes and bans end automatically, expired warnings are removed, and /warn runs any punishment configured for the new warning count.
Maintain a server-specific list of words or phrases. JGL Bot checks new and edited messages, deletes matching content, and briefly tells the member not to use it. Administrators and members with the configured Staff role are exempt from filtering.
Access: server administrators and the configured Staff role can manage and review the filter.
Supply one entry or a comma-separated list. Matching ignores capitalization and normalizes repeated spaces.
/words ban words: spam phrase, scam link/words unban words: spam phrase/words list/words clearClear behavior: /words clear removes every banned-word entry for the server.
Review bans, clear messages, publish formatted announcements, replace a channel, or temporarily stop new members from joining.
Access: these tools are available to server administrators and the configured Staff role. Most require JGL Bot to have administrator permission.
The bans command opens a paginated list. Message clearing defaults to 100 messages when no number is supplied and accepts up to 1,000.
/bans/clear number: 100Choose an optional destination channel and mentions. Discord then opens a form for the required title and description; image and thumbnail URLs are also optional.
/announce channel: #announcements mentions: @everyoneReset clones the selected channel, deletes the original, and places the replacement in the same position.
/reset channel: #old-channelDestructive action: resetting deletes the original channel and its message history.
While locked, newly joining members receive a direct message and are kicked. Existing members can continue using the server.
/lock/unlock/lockedA role dependency ties one role to another. If the required role is removed, JGL Bot also removes its dependent role. Each server can configure up to 20 dependencies.
Access: only the server owner can add, remove, or clear dependencies. Administrators and the configured Staff role can list them.
In this example, removing @staff also removes @helper.
/dependencies add role: @staff dependent: @helper/dependencies remove role: @staff dependent: @helper/dependencies clear/dependencies listCreate a message that pairs up to 20 unique, comma-separated emoji with the same number of roles. The bot must be able to assign each role, and anyone other than the server owner cannot select a role at or above their highest role.
Access: server administrators and the configured Staff role can manage reaction roles. JGL Bot requires administrator permission to create them.
/rr create emojis: 🔴, 🔵 roles: @red, @blue title: Colors description: Select your favorite color/rr list shows each registered message and includes a Delete control. Deleting the original Discord message also removes its saved mappings.
/rr list/rr clear id: 123456789012345678/rr clear id: allClear behavior: the id option also accepts comma-separated message IDs. Clear removes saved mappings but does not delete the original messages.
The server owner first chooses whether to mention staff, allows one to five open tickets per member, and selects the existing Discord category where ticket channels will be created.
Access: setup is restricted to the server owner. Administrators and the configured Staff role can view ticket configuration. JGL Bot requires administrator permission to create and close ticket channels.
Set a Staff role first when staff mentions should be enabled.
/tickets setup mention_staff: True max_tickets: 1 category: SupportThe command opens a form for a reason of at least 25 characters. A member can successfully create one ticket per hour, subject to the server’s open-ticket limit.
/tickets createRun this command from inside the ticket channel. The reason is optional.
/tickets close reason: Resolved/tickets configSchedule a direct-message reminder, inspect member information, send product feedback, jump to the right documentation section, or get the bot invite link.
Provide a message and any combination of seconds, minutes, hours, or days. JGL Bot sends the reminder to you in a direct message when it is due.
/reminder reminder: Team meeting hours: 1Administrators and the configured Staff role can view a member’s username, ID, account and server dates, roles, and active warning count. Omit the member to view your own information.
/info member: @memberChoose Bug Report or Feature Request to open the feedback form. Successful submissions are limited to one per user per day.
/feedback type: bug reportThe help command links directly to the selected section on this page. Available categories are Config, Moderation, Word Filter, Server Tools, Role Dependencies, Reaction Roles, Tickets, Utilities, and Other.
/help category: Moderation/inviteGood to know
Quick answers for common setup and support questions.
JGL Bot includes moderation, warning punishments, word filtering, reaction roles, private support tickets, role dependencies, welcome and goodbye messages, logging, announcements, server lockdown, and reminders.
The invite requests Discord's Administrator permission so JGL Bot can manage members, roles, channels, bans, timeouts, messages, and tickets. Server owners can use the configured Staff role to control access to most administration commands.
View an area with /config roles, /config channels, /config messages, /config punishments, or /config misc. Use /config reset all: True to reset every area.
Run the matching /set command without its optional value. For a punishment, keep the required warning number—for example, /set punishment warning: 7.
Reach us through the contact page, ask in the JGL Technologies Discord server, or open an issue in the GitHub repository.
Invite JGL Bot, configure the tools you need, and keep the docs close whenever your server grows into something new.