How to protect Telegram channel comments without silencing readers
Find the discussion group behind your channel, choose an entry policy, configure comment filters in Defendy, and recover safely from spam or false positives.
You have locked down who can publish in your Telegram channel, yet a promotional link appears under every new post. The first place to inspect is the linked discussion group. That is where comments are moderated; adding a bot only to the channel does not protect the conversation underneath it.
A useful setup keeps ordinary questions, corrections and relevant sources available while removing the particular abuse you are seeing. Start by finding the right group and deciding how readers enter it. Filters come after those two decisions.
A reader using the channel's direct-message button is taking a different route. Compare channel DMs and comments first so the team configures the conversation that actually receives the message.
For a message posted as a channel, check sender identity and channel-sender moderation separately. A procedure intended for a personal account may not fit the sender shown in the conversation.
Find the conversation behind the comment button
Telegram attaches channel comments to a discussion group, which you can select or create when configuring discussions. Do not assume Telegram has silently created a new group with the same name. Open the channel’s Discussion setting and inspect the actual linked chat. Telegram’s explanation of channel comments
| What the reader sees | Where it belongs | What to configure |
|---|---|---|
| The original publication | Your channel | Publishing access and editorial workflow |
| The automatically forwarded copy of that publication | The linked discussion group | Preserve it as the starting point of the discussion |
| Replies under the publication | A thread in that group | Group permissions, filters and moderator access |
This distinction matters during cleanup. Telegram documents that deleting the automatically forwarded root message in the group disables comments for that post. Do not treat that message as routine forwarding spam or remove it while trying to delete one unwanted reply. Discussion-group mechanics
Before changing anything, write down the channel and group names. Then open one post’s comments and verify that you have reached the same group. A screenshot for your own team can help, provided it does not expose private messages or member details unnecessarily.
If comments disappeared: one post, every post or one reader?
Before changing the group settings, compare the affected post with another post in the same channel. Ask a consenting ordinary participant with authorized access to repeat the route; an administrator's successful test can hide a member restriction.
- Only one post: find its automatically forwarded root in the linked group and compare it with the working post's root. Check the available administrator history and moderation logs for a deletion. The root-removal consequence above makes this worth checking; it does not identify who acted.
- Several or all posts: confirm which group is currently linked, then inspect its sending permissions and entrance policy. Record what fails: opening comments, sending a message, or keeping it visible after sending.
- Only one reader: compare that account's membership or join-request status and restrictions with the consenting participant's. Do not relax the whole group's rules to diagnose one account.
Keep the two post links, affected message IDs if available, time and exact error. If logs are missing or inconclusive, leave the cause unconfirmed and continue the step-by-step bot diagnosis.
Decide whether readers must join before commenting
A comment is not proof that its author joined the discussion group or subscribed to the channel. This matters because a check triggered by joining cannot be assumed to run for every person who writes a comment.
Choose the entrance that fits the publication:
| Your priority | Entrance policy to consider | Cost to legitimate readers |
|---|---|---|
| Quick, occasional feedback | Allow the available guest-commenting path; moderate messages | A join-triggered CAPTCHA cannot be your only defense |
| A recurring community around the publication | Require joining the discussion group before sending | An extra step before the first comment |
| Controlled admission | Require approval to join where configured | Someone or an appropriate verification workflow must handle requests |
Telegram supports a join-before-commenting setting and join-request approval. These are different controls. Requiring group membership does not establish channel-subscription status, and enabling a CAPTCHA in Defendy does not itself change Telegram’s entrance policy.
For Defendy, choose In group verification for the joining flow, or Join requests for the supported application flow. Test the exact route readers will use, including arriving from a channel post. If visitors can still comment without a join event, do not describe them as CAPTCHA-verified. The CAPTCHA setup guide covers the modes and failure settings.
Use Telegram’s native controls deliberately
You may not need a new bot rule for every nuisance. Review the discussion group’s member permissions for media, stickers and other message types. If evidence photos are important to your community, a blanket media ban has a real editorial cost.
Disabling link previews is not a ban on URL text: Telegram exposes a preview permission separately. If your policy prohibits certain links, use a link filter and test the full message. Telegram’s member permissions
Slow mode can give people breathing room between messages, but it does not decide whether a message is an advertisement. Configure it in Telegram; do not expect Defendy to switch it automatically with traffic. See when slow mode helps.
Telegram also has native aggressive anti-spam for eligible supergroups. Availability uses a server-configured minimum group size, so check whether your group offers it instead of relying on an old fixed threshold. It is another moderation layer, not evidence that Defendy performed a deletion. Native anti-spam requirements For setup and mistaken removals, use the native anti-spam checklist.
Set up Defendy in the discussion group
Open @defendy_bot privately, tap Settings, and connect or select the linked group. Check the group name at the top of the Mini App before each change. Settings belong to that group; they are not automatically a channel-wide policy for every chat you manage.
1. Match permissions to the intended actions
For deletion, the bot needs the relevant delete-messages right. Mutes, bans and in-group newcomer restrictions need permission to restrict members; join-request decisions need invite-user rights. Review any broader connection warning separately rather than granting every right without understanding it. See the permissions guide.
2. Start with the pattern you can identify
For unwanted URLs, open Anti-spam → Links. Websites and Telegram channels/chats have separate modes: block, blocklist only or leave unchanged. Choose an allowlist policy if only a small set of sources should be accepted; choose a blocklist policy if readers regularly share many legitimate sources and you need to block known offenders.
Review message deletion and the action against the author separately. For an initial test, deleting a prohibited link with the user action set to None lets you check the policy without adding a warning or restriction. It still deletes the message, so start in a test group. Link-filter settings
For link-free promotional text, inspect Anti-spam → Text and its chosen strictness. A stop-word list can address a recurring, identifiable phrase, but broad topic words are dangerous. A publication about personal finance cannot sensibly ban every mention of “investment.” Neither a keyword rule nor a spam classifier proves the author’s intent.
3. Save, then make the behavior observable
Wait for the save confirmation on switches and selectors. Forms with a Save button need that explicit step. Reopen the section if you are unsure what was stored.
If you want a moderation record, connect Logging, choose the relevant event categories and verify delivery to a moderator-only destination. Logging is selective, not a full backup of the discussion. Publish a short appeal route that remains reachable when someone cannot write in the group.
A worked example: keep useful sources, remove unsolicited promotion
Imagine a hypothetical local-history newsletter. Readers often supply archive links and correct dates. The problem is repeated advertising for unrelated channels.
The editor chooses a blocklist approach for websites rather than banning all links. Known promotional Telegram sources are handled separately. Obvious repeat advertisements can inform a narrow text rule; ordinary disagreement with the article remains allowed. No automatic ban is enabled during the first test.
Use a small test sheet like this. The outcomes below are policy expectations, not measured Defendy results:
| Test comment | Expected result | What it checks |
|---|---|---|
| “Was the station still open in 1968?” | Remain visible | Ordinary participation |
| “I think the date in the post is wrong.” | Remain visible | Criticism is not spam |
| A harmless link to a deliberately allowed source | Remain visible | Useful citations and exceptions |
| A harmless example domain deliberately added to the blocklist | Be removed | The selected link rule |
| A phrase deliberately placed in a test stop-word list | Follow that list’s configured action | Deterministic text matching |
| The channel’s automatically forwarded post | Remain available as the discussion root | The publication and comment thread still work |
Run the sheet with an ordinary participant who has no filter exemption. Test from a post’s comment button and from the group itself. If you use CAPTCHA, separately test a new arrival, a wrong answer, a timeout and recovery. Passing a message-filter test says nothing about whether the entrance flow works.
If spam is arriving faster than you can review it
First identify the scope. One thread, several threads and the whole discussion group are different incidents.
- Preserve enough context. Keep the post link, time, existing group permissions and a minimal example for the moderators. Do not spread malicious URLs or personal details through a public “spam report.”
- Slow or pause the affected conversation. If necessary, temporarily restrict ordinary members’ sending permissions in the linked group. This affects the group and its comment threads, not just the most recent post. Tell readers why and keep a separate contact route.
- Remove confirmed spam and review the entrance policy. Do not switch every filter to its strictest value while the team is also changing membership rules; you will struggle to identify the cause of new failures.
- Retest and reopen deliberately. Restore the previous permissions rather than enabling every message type. Check a normal reader’s route, one allowed comment and the rule that should stop the observed abuse. Confirm that a moderator is available for the first reopening period.
If you intentionally close comments on one post by deleting its forwarded root, treat that as a destructive editorial decision. Do not present it as a reversible pause or assume reopening will reconstruct the original thread. Prefer a temporary permission change when preserving the conversation is essential.
Fix false positives without dismantling the whole setup
If a legitimate source is removed, inspect the saved link mode, matching list and selected log events. Narrow that rule or add the appropriate exception, then test both the useful link and the unwanted one again. Adding an exception to one filter does not prove another filter will accept the same message.
If a reader is muted or banned incorrectly, correct their access separately from the filtering rule. Defendy does not promise automatic restoration of deleted comments. Ask the reader to repost only after fixing the cause, and avoid asking them to publish account or identity details to appeal.
If nothing appears in the log, check that logging was enabled for that category and that its destination is reachable. Another bot, a human moderator or Telegram’s own anti-spam may have acted. A missing record is a reason to investigate, not proof that a reader invented the problem.
Sources and check date
Reviewed on 6 October 2026 using the official Telegram sources linked above and Defendy’s current documentation and implementation. Telegram-client labels and available native controls can vary. The example community and test comments are hypothetical; this article reports no production test, detection rate or guaranteed outcome.
For an initial connection, follow the Mini App quick start. For ongoing work, agree on how moderators share responsibility.