Control exactly what types of content can be posted in your group. Block links, stickers, media, forwards, voice messages, bot messages, and polls — with smart filters that catch evasion attempts.
Different communities have different content needs. A study group might want to block all links to prevent distraction. A professional community might want to block stickers to maintain a serious tone. A support group might want to block media to keep the chat focused on text-based questions and answers. BotWave's lock system gives you granular control over which message types are allowed in your group, with each type independently toggleable.
The /lock command blocks a specific message type, and /unlock reverses it. You can lock links, stickers, GIFs, photos, videos, forwarded messages, voice messages, bot messages, and polls. The /locks command shows all currently active locks in one view, and /locktypes lists every lockable type for reference. When a locked message type is posted, the bot deletes it immediately and optionally warns the user, with warnings feeding into the escalation system for repeat offenders.
For more targeted content control, the blocklist system lets you define specific words that trigger an automatic response. When a message contains a blocklisted word, the bot takes the configured action: delete the message, warn the user, mute them, kick them, or ban them outright. The action is set with /blocklistmode and applies to all blocklisted words uniformly.
What makes the blocklist system powerful is the ability to assign custom reasons to individual words. When a message is deleted because it contained a blocklisted word, the bot can send a specific explanation telling the user exactly why their message was removed. This educational approach helps members understand the rules rather than feeling arbitrarily censored. The /setblocklistreason command assigns a custom reason to a word, and /resetblocklistreason removes it.
A simple word blacklist is easy to evade. Members can insert spaces, replace letters with similar-looking numbers, or use Unicode homoglyphs to spell a blocked word in a way that looks identical to a human but is completely different to a text-matching algorithm. BotWave's smart filters module addresses this by analyzing messages for obfuscation patterns and normalizing text before checking against the blocklist.
When smart filters are enabled, the bot strips whitespace, converts homoglyphs to their ASCII equivalents, and checks for common substitution patterns (like replacing "o" with "0" or "e" with "3") before evaluating the message. This means that a blocklisted word written as "s p a m" or "sp4m" is still detected and handled. The smart filters represent a significant upgrade over basic keyword matching and are essential for communities where members are likely to test the boundaries of content rules.
Mentions of non-existent users or external channels can be used to redirect members to malicious links or to spam-promote other groups. The anti-mention module detects these mentions and takes action based on your configuration. You can set the penalty to delete, mute, or ban, and you can maintain an allowlist of usernames and channels that are permitted to be mentioned.
The strict mode option extends protection to text-link entities — messages that contain hidden links disguised as regular text. This is important because Telegram allows inline links to be formatted as plain text, meaning a malicious link can be disguised as an innocent-looking word. With strict mode enabled, the bot inspects these hidden links and blocks them if they point to disallowed destinations.
Flooding — sending many messages in rapid succession — disrupts conversation and can be used to push important messages out of the visible window. The anti-flood system monitors message frequency per user and takes action when a configurable threshold is exceeded. You set the maximum number of messages per time window with /setflood, and the action taken on flood with /floodmode — mute, kick, ban, or warn.
Approved users are exempt from flood detection, so trusted members who legitimately post frequently are not penalized. The /clearflood command resets all flood warnings, which is useful after a temporary spike in activity that may have triggered warnings against otherwise well-behaved members.
| Command | Arguments | Description |
|---|---|---|
| /lock | <type> | Lock a message type. |
| /unlock | <type> | Unlock a message type. |
| /locks | Show all current locks. | |
| /locktypes | List all lockable types. | |
| /addblocklist | <word> | Add a word to the blacklist. |
| /rmblocklist | <word> | Remove a word from the blacklist. |
| /blocklistmode | <action> | Set blacklist action. |
| /setblocklistreason | <word> <reason> | Set custom reason for a word. |
| /antimention | <on|off> | Toggle anti-mention protection. |
| /setflood | <number> | Set max messages per window. |
| /floodmode | <action> | Set flood action. |
| /smartfilters | List active smart filters. |
Locks, filters, blocklists, smart detection, and anti-flood. Keep your group clean and on-topic.