Troubleshooting

Common failures and fixes.

Use this page to diagnose common GramGroupsBot setup and moderation issues.

Group Does Not Connect

Symptom

/connect fails or the group does not appear in the dashboard.

Checks

  1. Did the sender open the bot in private chat and send /start?
  2. Does the sender belong to a GramGroupsBot account?
  3. Does the sender belong to exactly one account?
  4. Is the sender a Telegram admin in the group?
  5. Is GramGroupsBot a Telegram admin in the group?
  6. Is the group already connected to another account?

Fix

Correct the failed condition and run /connect again.

Bot Does Not Delete Messages

Symptom

Rules appear configured, but violating messages remain in the group.

Checks

Run in the group:

/status

Verify:

Connected: yes
Bot status: administrator
Can delete messages: yes

Also check:

  • The group status is active.
  • The account has billing available.
  • The relevant rule is active/enabled.
  • The relevant rule is assigned to the group.
  • The runtime cache had time to refresh after changes.

Fix

Give the bot delete-message permission, reactivate the group if needed, fix assignments, and test again.

Rule Is Assigned but Not Applied

Checks

  1. Confirm the rule itself is active/enabled.
  2. Confirm the group is active.
  3. Confirm the group is included in the assignment count.
  4. Confirm another earlier rule type is not matching first.
  5. Confirm the message is not a reply when testing required words.
  6. Confirm the text actually matches after normalization.

Runtime order is:

  1. Blocked users
  2. Stop words
  3. Link filter
  4. Required words
  5. Rate limits

The first match wins.

Required Words Delete Unexpected Messages

Required words mean the message must contain at least one item from the list.

If a group has a required-word list assigned, any non-reply message without a required entry is deleted.

Fix:

  • Add all valid required markers to the list.
  • Remove the assignment from groups that should not enforce the requirement.
  • Remember replies are exempt, but top-level messages are not.

Checks:

  • Confirm the rule is assigned to the group.
  • Confirm the mode is correct.
  • For block_listed, confirm the domain is in blocked domains.
  • For allow_approved, confirm the posted domain is not in allowed domains.
  • Confirm the domain normalization did not strip or change the value in a way you did not expect.
  • For Telegram links, check the Telegram-specific invite/public link flags.

Rate Limit Feels Inconsistent

Rate-limit counters are in memory and use time windows.

Expected behavior:

  • Counters reset after application restart.
  • Counters are per group and per user.
  • Counters are not shared across groups.
  • Only messages over the limit are deleted.

If you need a stricter effect, lower max_messages or increase window_seconds.

Mass Action Skips Groups

Open /mass-actions and inspect results.

Common skipped statuses:

  • skipped_not_active: group is not active.
  • skipped_no_permission: bot lacks admin/restrict permission.

Fix permissions or group status and rerun the command if still needed.

Network Logs Do Not Arrive

Checks:

  1. Network log delivery is enabled in Settings.
  2. Telegram log chat ID is correct.
  3. Bot is a member/admin of the destination chat or channel.
  4. Bot can post messages in the destination.
  5. For topic mode, the destination is a forum supergroup.
  6. For topic mode, the bot can create forum topics.

If topic delivery fails, the system should fall back to single-feed delivery.

Billing Issues

If moderation stops after billing problems:

  1. Open /billing.
  2. Check active group count.
  3. Check balance.
  4. Top up from the Telegram bot.
  5. Confirm groups are active and billable again.

Data to Collect Before Escalation

When reporting an issue, collect:

  • Account ID if available.
  • Group title and Telegram chat ID.
  • Approximate time of the event.
  • Rule name and type.
  • /status output from the group.
  • Whether network logs were configured.
  • Screenshot or copied text of the relevant dashboard settings.