Link filter
LiveLink filter
Link filter settings: external links, Telegram links, invite links, allowlists, denylists and actions.
Set up in the Mini App
Open Settings in your private chat with @defendy_bot, select the group under My groups and check its name at the top.
- Open Anti-spam → Links and enable the filter.
- Choose how websites and Telegram channels/chats are handled separately: Delete, Blacklist or Ignore.
- Review popular-site exceptions, IP-address links, invite links and cross-chat quotes in the relevant sections.
- To edit an allowlist or blocklist, tap Add, select the entry type, enter values or upload TXT, then tap Save.
Switches and selectors save when changed. In a separate form with a Save button, save before leaving. If a request fails, reopen the section to check its actual values.
Tip: change one option at a time and verify the result in the group so false positives are easy to spot.
In short
The link filter can block or limit different link families independently. Use allowlists for trusted domains and denylists for known bad sources.
How it works
- Defendy classifies a detected item as an external link, Telegram source, invitation, IP address or mention.
- Ordinary sources follow their selected mode and corresponding list. Enabled invitation and group-quote checks act separately and are not overridden by the ordinary allowlist. Popular-site exceptions are checked before the blocklist.
- If it is forbidden, Defendy deletes the message when enabled and applies the configured moderation action.
Every setting explained
Enable filter
Default: Off.
Turns link filtering on for the group.
Deleting a violating message
Stored default: On.
Deletion and the member penalty are separate consequences. The current Links screen does not expose a separate deletion switch; it displays deletion alongside the punishment. Choosing None does not disable deletion. Use disposable messages in a test group. To stop the entire module, turn off the filter.
Action
Default: None.
What Defendy does after a violation: nothing, warn, notify, mute, kick or ban depending on the feature.
Action duration
Initial value: 1 hour (3,600 seconds).
The mute or ban duration, when that action supports a time limit. Where supported, zero means no expiry. Check the duration again after changing the action.
Warning weight
Default: 1.
How many warning points this violation adds to the warning system.
External link mode
Default: Off.
Ignore, Delete or Blacklist. Delete checks whether the source is absent from the allowlist; Blacklist checks whether it is present in the blocklist.
Allow top websites
Default: Off.
Exempts domains from the built-in popular-sites list. This permits a source; it does not verify the safety of every page. The exception is checked before the blocklist, so turn off the applicable exception before trying to block one of its domains.
Allow top Runet websites
Default: Off.
The same rule for the built-in Runet list. Review the full domain lists before enabling either exception.
Unclickable external links
Default: On.
Handles links that Telegram displays as text instead of clickable URLs.
Telegram link mode
Default: Off.
Ignore, Delete or Blacklist for ordinary Telegram sources. Ignore does not turn off the independent invitation and group-quote checks.
React to IP addresses
Default: Off.
Enables handling of numeric addresses. The checked special IP-exception logic recognizes IPv4; do not assume equivalent IPv6 handling. The stored setting is inverted (ignore_ip_addresses), so the switch is off by default. Test the address format you need separately.
Invite links
Default: On.
Handles invitations such as t.me/joinchat/... and t.me/+..., plus some bot-launch links with parameters. When this check is enabled and an invitation is detected, the ordinary allowlist does not override the result. It can apply even when ordinary Telegram links are set to Ignore.
Group quotes
Default: Off.
Handles recognized links to group or channel messages and supported quote-link forms. It is a separate check: when enabled, an ordinary allowlist entry does not override its result.
User mentions
Default: Off (control unavailable).
Reserved setting for allowing @username mentions. The current WebApp control is disabled, so administrators cannot change it yet.
Practical example
A project chat can use Delete for websites and add example.com and docs.example.com as separate domain entries. Test both from an ordinary member. For Telegram, separately check a public destination, an invitation, a post link and a member mention; the unavailable mention toggle does not establish an exemption for all users. Test masked links such as site[.]com separately too.
Recommendations
- The form offers Domain, IP address and Telegram entry types. The checked matching logic compares the extracted name exactly, ignoring case. Add subdomains separately. Do not rely on wildcard or CIDR-range expansion despite the form hints; use explicit values and control messages.
- Blacklist mode preserves more useful new sources, but does not block an unfamiliar source just because it is new. Choose the mode to fit your community policy.
Troubleshooting
- Check that Defendy is still an administrator in the group.
- Refresh the settings panel and make sure you are editing the correct group.
- If a setting is saved but does not work, check the bot permissions in Telegram.
- If logging is connected and the relevant category is enabled, check the event record. The log cannot show events that were not recorded.
Check the duration after changing an action
Changing the punishment type can reset its duration to 0. Where supported, zero means an indefinite action, not a disabled punishment. A temporary mute lasts at least 60 seconds. Recheck the duration before leaving the form.