← Back to Home

Documentation

Everything you need to know about ZH Anti Link Bot

Setup

Getting started with ZH Anti Link Bot is simple and takes less than 5 minutes.

Step 1: Invite the Bot

Click the invite link and select your server. Make sure you have "Manage Server" permissions.

📋 Invite Link

Use this link to add the bot to your server:
https://discord.com/api/oauth2/authorize?client_id=1434629264220753960&permissions=1374925398102&scope=bot

Step 2: Required Permissions

The bot needs these permissions to function properly:

  • Read Messages/View Channels - To monitor messages
  • Send Messages - To send warnings and notifications
  • Manage Messages - To delete messages containing links
  • Timeout Members - To timeout users with warnings
  • Kick Members - For the kick punishment tier
  • Ban Members - For permanent bans

Step 3: Configuration

The bot works immediately after invite with default settings. Customize it using commands:

  • Use !zh-help to see all available commands
  • Use !zh-whitelist to allow trusted domains
  • Use !zh-personality to change response style

Information Commands

!zh-help Everyone

Display complete command reference and bot information

!zh-help
!zh-stats Moderator

View server protection statistics including total violations, deleted messages, and punishment counts

!zh-stats
!zh-status Everyone

Display bot uptime, performance metrics, and system status

!zh-status
!zh-check Moderator

Test link detection on any text to see if it would be caught

!zh-check [text]
!zh-invite Everyone

Get the bot invite link with proper permissions

!zh-invite

Configuration Commands

!zh-whitelist add Admin

Add a domain to the whitelist (e.g., youtube.com, twitter.com)

!zh-whitelist add [domain]
!zh-whitelist remove Admin

Remove a domain from the whitelist

!zh-whitelist remove [domain]
!zh-whitelist list Moderator

Show all whitelisted domains

!zh-whitelist list
!zh-whitelist channel Admin

Whitelist a channel to allow all links there

!zh-whitelist channel #channel-name
!zh-whitelist role Admin

Whitelist a role to allow members to post links

!zh-whitelist role @role-name
!zh-setmax Admin

Set maximum warnings before permanent ban (1-50)

!zh-setmax [number]

Moderation Commands

!zh-warnings Moderator

Check warning count and violation history for a user

!zh-warnings [@user]
!zh-reset Admin

Reset all warnings for a specific user

!zh-reset @user
!zh-logs Moderator

View recent violation logs (default: 10, max: 25)

!zh-logs [count]
!zh-purge Admin

Scan and delete messages containing links in bulk

!zh-purge [count]

Advanced Commands

!zh-toggle strict Admin

Enable/disable strict mode for maximum protection

!zh-toggle strict
!zh-toggle embeds Admin

Enable/disable scanning of message embeds

!zh-toggle embeds
!zh-toggle attachments Admin

Enable/disable scanning of file attachments

!zh-toggle attachments
!zh-personality Admin

Change bot response personality (friendly, strict, funny, professional, sarcastic)

!zh-personality [type]
!zh-export Admin

Export all server data as JSON file

!zh-export

Link Detection

ZH Anti Link Bot uses advanced detection methods to catch links that other bots miss.

What Gets Detected

  • Standard URLs (http://, https://)
  • Discord invites (discord.gg, discord.com/invite)
  • Bare domains (google.com, youtube.com)
  • URL shorteners (bit.ly, tinyurl.com, etc.)
  • Obfuscated links (d1sc0rd.gg, disc ord . gg)
  • Encoded links (base64, ROT13, hex)
  • Homoglyph characters (using similar-looking letters)
  • Zero-width character tricks
  • Markdown hidden links [text](url)
  • Social engineering ("click here for free nitro")

Detection Modes

Normal Mode: Balanced detection with minimal false positives

Strict Mode: Maximum protection, may catch more edge cases

Whitelisting

Control what links are allowed in your server with flexible whitelisting options.

Domain Whitelist

Allow specific trusted websites:

!zh-whitelist add youtube.com
!zh-whitelist add twitter.com
!zh-whitelist add github.com

Channel Whitelist

Allow all links in specific channels (great for media channels):

!zh-whitelist channel #links
!zh-whitelist channel #media

Role Whitelist

Allow trusted members to post links anywhere:

!zh-whitelist role @Moderator
!zh-whitelist role @Trusted
💡 Pro Tip

Start with a restrictive setup and whitelist as needed. It's easier to allow trusted content than to deal with spam.

Punishment System

Progressive punishment system that escalates with repeated violations.

Default Tiers

  • 1st violation: Warning message
  • 3 warnings: 10-minute timeout
  • 5 warnings: 1-hour timeout
  • 7 warnings: Kick from server
  • 10 warnings: Permanent ban
⚠️ Important

Adjust the maximum warnings using !zh-setmax to fit your server's moderation style. Lower values for stricter enforcement.

Personality Modes

Customize how the bot responds to violations to match your server's tone.

Available Personalities

  • Friendly: "Hey! Links aren't allowed here 😅"
  • Strict: "⚠️ Link detected and removed."
  • Funny: "Bruh really tried to sneak a link in 💀"
  • Professional: "Your message contained a link and has been removed."
  • Sarcastic: "Oh, a link. How *original* 🙄"

Best Practices

Initial Setup

  • Start with default settings and adjust as needed
  • Whitelist your trusted domains immediately
  • Create a dedicated links channel if needed
  • Inform members about the new bot

Ongoing Management

  • Review violation logs weekly
  • Adjust whitelist based on community needs
  • Reset warnings for reformed members
  • Keep punishment tiers appropriate for your server size

For Large Servers

  • Enable strict mode for maximum protection
  • Lower max warnings for faster enforcement
  • Whitelist moderator roles
  • Regular purge scans in high-traffic channels

Troubleshooting

Bot Not Responding

  • Check bot has required permissions
  • Ensure bot role is above user roles
  • Verify bot is online
  • Try re-inviting the bot

False Positives

  • Disable strict mode
  • Whitelist the specific domain
  • Use !zh-check to test detection
  • Contact support for persistent issues

Links Not Being Caught

  • Enable strict mode
  • Enable embed and attachment scanning
  • Check if domain is whitelisted
  • Verify bot has read message permissions
📞 Need More Help?

Join our support server for assistance, feature requests, and community discussion.