Documentation menu

Bot detection

How Lucy scores joins, messages, and reactions, and what allow, watch, and quarantine mean.

Detection is always on. Lucy scores new joins and the early activity of members she does not fully trust yet, then recommends allow, watch, or quarantine. She never turns a score into a ban.

Signals

The pure engine in detection weighs extractors such as:

  • Account age (estimated from Telegram user ids)
  • Profile patterns (names, usernames, and related tells)
  • Photos heuristics on fresh accounts
  • First message content (links, spam phrasing, dollar amounts, and similar)
  • Duplicate messages seen across chats
  • Join velocity when many accounts arrive together
  • Reaction lurker behavior (many reactions, almost no messages)
  • Cross-group reputation when the standing band is Flagged (capped contribution)

Each signal carries points and a short evidence line. Those lines appear on the quarantine card so admins can audit the hold.

Outcomes

Recommendation What happens
Allow Score stays below watch. No moderation action.
Watch Lucy keeps observing early activity without muting.
Quarantine Member is muted, evidence is frozen, admins get a card. Optional delete of the triggering message.

Quarantine is always mute plus review. See Quarantine and verdicts.

Thresholds

Defaults differ for join risk and message risk:

Surface Watch (default) Quarantine (default)
Joins and reactions 30 60
Messages 10 20

Configurable join thresholds in /settingsModeration:

  • Watch: 20, 30, 40, 50
  • Quarantine: 40, 50, 60, 70, 80

Message assessments use the lower message defaults unless the caller supplies other values. Raising thresholds makes Lucy quieter; lowering them makes her stricter.

Never-ban guarantee

Detection can only allow, watch, or quarantine. CAPTCHA failure also routes to quarantine. Bans happen only when an admin presses Ban on a card, runs a moderation command, or enacts a human guild ban your group already trusts. Reputation can raise suspicion (hard cap +25) but cannot quarantine alone at default thresholds.

Configure watch and quarantine under Moderation in /settings, in the group or in DMs after /groups.