| # | Category | Opened By | Opened | Status | Assigned To |
|---|---|---|---|---|---|
| #0418 | 🎫 General Support | xXDragonSlayer99Xx | 2 hours ago | Open | MegaAdmin |
| #0417 | ⚖️ Ban Appeal | ShadowHunter42 | 3 hours ago | Pending | Unassigned |
| #0416 | 🚨 Staff Report | NightWolf_2024 | 5 hours ago | Open | SeniorStaff |
| #0415 | 🎫 General Support | ProGamer_Elite | 7 hours ago | Closed | MegaAdmin |
| #0414 | ⚖️ Ban Appeal | StarFighter_Rex | 9 hours ago | Closed | MegaAdmin |
| Category | Open | Total |
|---|---|---|
| 🎫 General Support | 4 | 623 |
| ⚖️ Ban Appeal | 3 | 412 |
| 🚨 Staff Report | 1 | 212 |
| Staff Member | Closed | Avg Time |
|---|---|---|
| MegaAdmin | 47 | 3m 12s |
| SeniorStaff | 31 | 5m 44s |
| ModHelper | 18 | 8m 02s |
| Action | User | Moderator | Reason | Time |
|---|---|---|---|---|
| Timeout | SpamBot2024 | MegaAdmin | Spam in #general | 12 min ago |
| Ban | ToxicUser99 | SeniorStaff | Repeated harassment | 1 hour ago |
| Warn | RuleBreaker42 | ModHelper | Posting NSFW content | 2 hours ago |
| Unban | ReformedPlayer | MegaAdmin | Ban appeal accepted | 5 hours ago |
| Staff Member | Role | Tickets Closed | Avg Response | Rating |
|---|---|---|---|---|
| MegaAdmin | Admin | 47 | 3m 12s | ★★★★★ |
| SeniorStaff | Senior Staff | 31 | 5m 44s | ★★★★☆ |
| ModHelper | Staff | 18 | 8m 02s | ★★★★☆ |
| NewMod2024 | Staff | 7 | 12m 30s | ★★★☆☆ |
| # | Category | User | Closed By | Date | Actions |
|---|---|---|---|---|---|
| #0413 | 🎫 General Support | xXDragonSlayer99Xx | MegaAdmin | Mar 14, 2026 | |
| #0412 | ⚖️ Ban Appeal | ShadowHunter42 | SeniorStaff | Mar 14, 2026 | |
| #0411 | 🎫 General Support | ProGamer_Elite | MegaAdmin | Mar 13, 2026 |
| Title | Type | Votes | Ends | Status |
|---|---|---|---|---|
| 🗳️ Favourite game mode? | Poll | 284 | Mar 20, 2026 | Active |
| 🎁 Nitro Giveaway | Giveaway | 1,042 entries | Mar 16, 2026 | Active |
| 🗳️ New channel suggestions | Poll | 157 | Mar 10, 2026 | Ended |
Override the bot's display name in this server.
Upload an image or paste a URL to set the bot's avatar for this server.
Set up a verification panel so members must verify before accessing your server.
| Action | User | Moderator | Reason | Date |
|---|---|---|---|---|
| Ban | xXDragonSlayer99Xx | MegaAdmin | Repeated rule violations | 2 hours ago |
| Mute | ShadowHunter42 | SeniorStaff | Spamming in general | 5 hours ago |
| Kick | NightWolf_2024 | Moderator | AFK / Inactive | 1 day ago |
| Warn | GamerPro777 | MegaAdmin | Inappropriate language | 1 day ago |
| Unban | BladeRunner55 | SeniorStaff | Appeal accepted | 2 days ago |
Recent Discord server audit events.
| Event | By | Target | Time |
|---|---|---|---|
| 🔨 Member Banned | MegaAdmin | xXDragonSlayer99Xx | 2h ago |
| ✏️ Channel Updated | MegaAdmin | #general | 3h ago |
| 👢 Member Kicked | SeniorStaff | NightWolf_2024 | 5h ago |
| 🔧 Role Updated | MegaAdmin | @Moderator | 6h ago |
| ✉️ Message Deleted | Moderator | #off-topic | 8h ago |
| ➕ Role Created | MegaAdmin | @Trial Staff | 1d ago |
| 🔓 Member Unbanned | SeniorStaff | BladeRunner55 | 2d ago |
| Form Name | Category | Responses | Status | Actions |
|---|---|---|---|---|
| 📋 Staff Application | Staff | 42 | Active | |
| 📋 Gang Application | Community | 17 | Active | |
| 📋 Streamer Application | Community | 8 | Closed |
Get the bot working in under 5 minutes:
- Go to General Settings → add your staff roles and set a ticket category (the Discord channel category tickets are created under).
- Go to Panel → click Add Panel, configure it, then click Post to send the panel embed to a channel.
- Members can now click the button/dropdown on the panel to open a ticket.
The panel is the embed with a button or dropdown that members click to open a ticket.
- Click Add Panel to create a new one.
- Give it a title, description, and choose which categories appear on it.
- Click Post next to a panel to send it to a channel. You can re-post it to update an existing one — the old message stays until you delete it manually.
Each category is a type of ticket. You can have as many as you want.
{username}, {ticketnumber}, {userid}, {category}.Ask users questions before or when they open a ticket.
Configure the text the bot sends at key moments. Supports placeholders:
Tickets with no activity are automatically closed after a set time.
Prevent specific users or roles from opening any tickets.
- Go to General Settings → scroll to the Blacklist card.
- Add user IDs or select roles to block.
- Optionally set a custom message shown to blocked users when they try to open a ticket.
When the Anonymous toggle is on for a category, the ticket channel name becomes ticket-anon-XXXX and the opener's name and avatar are hidden in the channel embed — staff can't tell who opened it just by looking at the channel.
Admins (Manage Server permission) can still see the opener's identity on the Overview dashboard and in the ticket data.
Standalone forms with an "Apply Now" button — completely separate from the ticket system.
- Go to Applications → click + New Form.
- Fill in the form name, questions (one per line), and the output channel where answers will be posted.
- Click Create Form, then click Post to Channel on the form and choose which channel to post the Apply Now embed to.
- Members click Apply Now → bot DMs them the questions → answers are posted to the output channel with Accept, Deny, and Open Ticket buttons.
Submitted applications appear in the table below the forms list where you can review and action them from the dashboard too.
Send custom Discord embeds to any channel from the dashboard.
- Go to Embed Builder and choose a channel.
- Fill in any combination of title, description, color, author, footer, thumbnail, image, and fields.
- The preview on the right updates live as you type.
- Click Send Embed to post it.
@here or @role.Polls — members vote by clicking buttons. Votes are shown live. A poll ends at the set time and shows the final results. You can also end it early from the dashboard.
Giveaways — members enter by clicking a button. At the end time the bot picks a winner (or multiple) at random and announces them. You can reroll from the dashboard if needed.
10m = 10 minutes, 2h = 2 hours, 1d = 1 day.Warnings — use /warn @user reason to warn a user. Warnings are stored and visible in the User Lookup tab. Use /warnings @user to view them.
Automod — configure word filters, link blocking, invite blocking, spam detection, caps limits, mass mention limits, and Zalgo text filtering. Set the action to delete, warn, or mute. Whitelist roles that bypass automod.
Custom Commands — add prefix commands that reply with a message and/or embed. Set up in Moderation → Custom Commands. Click + Add Embed when creating a command to attach a rich embed (title, description, colour, footer, image). Use {user} in any text field to mention the member who ran the command.
Mod Log — all moderation actions (bans, kicks, mutes, warns) are logged here.
Customise how the bot appears in your server.
Control which dashboard pages staff members can access. Admins (Manage Server permission) always see everything — this only affects staff.
Find it in General Settings → scroll to the Page Permissions card.
Each page has three access levels:
- Everyone — all logged-in staff members can see it
- Admin only — hidden from staff, only visible to admins (Manage Server)
- Specific roles — only members with one of the selected roles can see it (admins always see it)
Changes save automatically when you change the dropdown or add/remove a role.
When a ticket is closed, an HTML transcript of the full conversation is saved. You can view or download them from the Transcripts tab.
Transcripts are also sent to the Log Channel (if configured) as a file attachment when the ticket closes.
data/guilds/<guildId>/transcripts/.Link multiple Discord servers together so you can manage bans across all of them from a single dashboard.
- Make sure the bot is in both servers.
- Go to Linked Servers in the sidebar.
- Paste the Server ID of the server you want to link and click Link.
- The link is bidirectional — both servers will show each other as linked.
Once linked, the Combined Ban List shows every ban across all linked servers. You can:
- Ban All — ban a user across every linked server at once
- Unban All — remove a user's ban across every linked server at once
Automatically detect and act on suspected bot or raid accounts the moment they join. Real verified Discord bots are always ignored.
Find it in Moderation → Bot Account Detection card.
Detection checks (each can be toggled):
- New Account Age — flags accounts newer than your configured minimum (default: 7 days)
- Default Avatar — flags accounts with no profile picture set
- Suspicious Username — flags usernames matching bot-like patterns (random characters, trailing number strings, etc.)
- Raid Detection — flags when a configurable number of accounts join within a short time window (e.g. 5 joins in 30 seconds)
Actions:
- Log only — sends an alert to the log channel with the flags triggered
- Kick — removes the account and DMs them a notice
- Ban — bans the account and DMs them a notice
Automatically assign a "live" role to members when they go live on Twitch or Kick — and remove it when they go offline. Optionally post an announcement embed when someone first goes live.
Find it under Stream Team in the sidebar.
Setup:
- Create a role in Discord for live members (e.g.
🔴 LIVE NOW) and position it wherever you want it to appear in the member list - Go to Stream Team → select that role as the Live Role
- Optionally pick an Announce Channel — the bot posts an embed there the first time someone goes live each stream
- Toggle Enable Stream Team on
- Add members: enter their Discord User ID and their Twitch and/or Kick username
How it works:
- The bot polls every 5 minutes automatically
- All Twitch members are checked in a single API call — Kick is checked individually per member
- The live role is added when they go live and removed when they go offline
- Announcements only fire once when they first go live — not on every poll
- Use ↻ Refresh Live Status in the dashboard to trigger an immediate check
TWITCH_CLIENT_ID and TWITCH_CLIENT_SECRET in your .env file. Kick works without any credentials. Members can have both a Twitch and Kick username — Twitch is checked first.Attach clickable buttons to any embed you send via the Embed Builder. When a member clicks a button, the role is toggled — added if they don't have it, removed if they do.
Setup:
- Go to Embed Builder and build your embed as normal
- Scroll to the Role Buttons card and click + Add Button
- Set a label (the text on the button), pick the role, and choose a style (Primary = blue, Secondary = grey, Success = green, Danger = red)
- Add as many buttons as you need (up to 25 per message, 5 per row)
- Click Send Embed — the embed and buttons are sent together
Notes:
- The bot responds ephemerally (only visible to the clicker) confirming the role was added or removed
- The bot's role must be positioned above the target role in Server Settings → Roles for it to be able to assign it
- Buttons persist indefinitely — they will keep working after a restart
A global blocklist of roles that can never be self-assigned or removed via role buttons — even if a button exists for them. Protects sensitive roles like Admin, Moderator, or Staff from being claimed through the button system.
Find it in General Settings → scroll to the Protected Roles card (admin only).
- Select a role from the dropdown and click Add
- Repeat for any other roles you want to protect
If a member clicks a role button for a protected role, they receive: "❌ This role cannot be self-assigned."
Allow members with a specific role to post links freely in a specific channel without being flagged by AutoMod. Useful for channels like #whos-live where stream team members need to share stream links.
Find it in Stream Team → Channel Link Permissions card.
- Select the channel where you want to allow links
- Select the role whose members are allowed to post links there
- Click Add
Members with that role will bypass AutoMod link filtering in that channel only. All other AutoMod rules and channels are unaffected.
Configure prefix commands that let a specific role give or remove another role from any member — without needing Manage Roles permission.
Find it in General Settings → Role Commands card.
- Click + Add Command and fill in the command names (e.g.
give/revoke) - Select the Role to Give/Remove — the role that will be toggled on the target member
- Select the Allowed Role — only members with this role can run the commands
- Save. Members with the allowed role can now run
!give <@user>and!revoke <@user>
!<giveCmd> @user or !<giveCmd> userIDLet members submit suggestions via /suggest. Each suggestion is posted as an embed with upvote/downvote buttons and staff review controls.
Find the channel configuration in General Settings → Suggestions Channel.
Automatically track which invite link each new member used to join the server. View stats and member lists per invite from the Invite Tracker page.
How it works:
- The bot caches all invite codes on startup and keeps the cache in sync as invites are created or deleted
- When a member joins, it compares use counts to detect which invite was used
- The join is recorded against that invite code (creator, use count, list of members who joined via it)
inviteTrackerLogChannel in General Settings to log an embed on every join showing which invite was used.Connect your FiveM server to display live player counts and status directly in a Discord channel.
Find it under FiveM in the sidebar.
- Enter your FiveM Server IP (e.g.
cfx.re/join/abcdefor a direct IP:port) - Select a Status Channel where the live embed will be posted
- Enable Auto-update to refresh the embed every 5 minutes
- Click Save
Connect your Tebex store to automatically notify your Discord when purchases, refunds, chargebacks, and subscription events occur. Also includes a /generatevoucher command for staff to create discount codes.
Step 1 — Get your Tebex API Key
- Log in to your Tebex Creator Panel at
creator.tebex.io - Go to API Keys under your store settings
- Copy your Plugin API Key
Step 2 — Configure in Dashboard
- Open your server's dashboard and go to Tebex in the sidebar
- Paste your API key and click Save
- Set your Webhook Secret — any random string you choose (used to verify webhooks)
- Select notification channels for purchases, refunds, chargebacks, and declined payments
- Optionally set an Auto-Role to be given to customers on purchase
- Optionally configure Voucher Roles — only members with these roles can use
/generatevoucher
Step 3 — Add Webhook in Tebex
- In your Tebex Creator Panel, go to Webhooks
- Add a new webhook with the URL:
https://sonnygg.com/webhooks/tebex/YOUR_GUILD_ID - Replace
YOUR_GUILD_IDwith your Discord server ID (right-click server icon → Copy Server ID, requires Developer Mode) - Set the Secret field to match your Webhook Secret from Step 2
- Enable all event types you want
- Click Save
/generatevoucher
Authorised staff can run this in Discord to create a discount code on your Tebex store.
20 for a £20 voucherYYYY-MM-DD formatThe code is sent ephemerally (only visible to the user who ran it) and logged to your staff alert channel.
Notification Types
Track which invite link each member used to join the server.
| Invite Code | Created By | Uses | Members | Action |
|---|---|---|---|---|
hG7xKq |
MegaAdmin | 142 | ||
XzP9mN |
SeniorStaff | 87 | ||
discord.gg/horizon |
MegaAdmin | 1,204 | ||
kD4wRv |
Moderator | 31 |
Automatically give members a role when they go live on Twitch. Requires members to connect their Twitch account in Discord settings.
Post a rules embed to a channel. Members can accept the rules to receive a role.