> For the complete documentation index, see [llms.txt](https://docs.digitaldon.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitaldon.net/in-your-group/groups.md).

# Adding it to a group

Getting the bot into a group and flipping its switches is covered in [Setting it up](/the-telegram-bot/setup.md). This page is what it actually does once it's there.

## Auto-scan: the short card

Someone pastes a contract address in the chat. The bot answers with a **short card**:

* header — token, chain, price, market cap
* the score
* both trade horizons with their estimated upside
* two buttons — **📊 TA Analysis** and **👥 Holder Scan**

That's it. Deliberately.

Every other scanner bot answers the same trigger with a full-size card, which is why busy groups end up as walls of bot output with a conversation occasionally visible between them. The short card fits three in a row without pushing the chat off screen — and it still shows entry and exit zones, which nobody else posts at all.

Tap **📊 TA Analysis** and you get the whole card, chart included.

Tap **👥 Holder Scan** and you get the holder and wallet-cluster report on its own, without opening the full card first — the distribution, the wallet quality and the funder-based cluster map. That is the question most groups actually have about a freshly pasted contract ("is the supply bundled?"), and it no longer costs a full TA card and a chart render to get to it. The short card stays where it is, so the other button still works afterwards.

The Holder Scan button only appears where the scan can actually run: Solana always, EVM chains when the cluster engine is enabled for them.

### Three details that matter in practice

**Old cards keep working.** Auto-scan cards sit in the scrollback for hours or days, and the button on one of them still works long after it was posted. There's no session to expire and nothing to go stale.

**Expanding an old card shows current numbers.** Tapping a six-hour-old card runs a fresh analysis at the moment you tap it, rather than replaying the numbers from when it was posted. That's the honest thing for a card that may have been sitting there all night.

**Repeats are deduped.** The same token pasted again in the same chat within a short window (a minute, by default) doesn't get a second card. The check runs *before* a rate-limit slot is spent, so a repeated mention costs the group nothing.

## Fresh launches: every token, or only analysable ones

A token that deployed twenty minutes ago has no chart to analyse. Auto-scan can still answer it, with a different card: no score and no entry/exit zones — those would be invented — but the on-chain read instead. For a group hunting launches that's the useful half.

For a group that trades established tokens it's noise, and a chat where people paste ten new deploys an hour ends up with ten cards that all say "no TA yet".

So it's a switch, and it **starts off**: auto-scan answers only tokens with enough chart history for a real analysis, and everything younger is passed over in silence — no "skipped, too fresh" reply, which would just be the same spam with different words. Turn 🆕 **Fresh launches** on and those tokens get their card too.

{% hint style="info" %}
Off is the default *for now*. The fresh-launch card is being reworked — until it carries more than it does today, it isn't something to hand a group without being asked. Groups that want it are one tap away.
{% endhint %}

Two things stay unaffected either way:

* **`/don <address>` always answers**, fresh launch or not. The switch governs what the bot says on its own, never what it does when it's asked.
* **Nothing is silently skipped that could have been analysed.** Whether a token has usable chart history isn't knowable from its address, so the switch decides whether the *message* is sent, not whether the work was worth doing.

## The other two group features

| Feature            | Command           | Page                                         |
| ------------------ | ----------------- | -------------------------------------------- |
| 🃏 **PNL cards**   | `/pnl <contract>` | [PNL cards](/in-your-group/pnl-cards.md)     |
| 🏆 **Leaderboard** | `/lb`             | [Leaderboard](/in-your-group/leaderboard.md) |

Both are on by default and both are one admin tap from off.

They share a source: every `/don` in a group registers the **first** scan of a token in that chat, credited to whoever ran it. PNL cards read one row of that record; the leaderboard ranks all of it.

## Rate limits in groups

Groups have their own windows on top of the per-user ones — **8 scans per minute and 120 per hour** by default.

The per-minute one exists because Telegram itself throttles a bot at roughly 20 messages per minute per group, and one full analysis writes several times (status message, edits, chart). That ceiling bites first, whatever else is going on.

The per-hour one exists because nothing else caps a *group*: thirty active members each with their own hourly allowance could sustain hundreds of scans an hour in one chat and crowd every other group out. It deliberately leaves bursts alone — it bounds the sustained rate, which is the part that actually causes harm.

DMs are exempt from both, so anyone can always keep scanning privately.

## When auto-scan stays quiet

In order of likelihood:

1. **The bot isn't an admin.** Telegram's privacy mode means a non-admin bot never receives ordinary group messages. Use the `🔄 Check admin rights` button on the setup card, or `/setup` to reopen it.
2. **Auto-scan is off.** `/setup`, or `/autoscan on`.
3. **The token is too fresh** and 🆕 Fresh launches is off — the default. Turn it on, or use `/don`, which always answers.
4. **The group is rate limited.** Wait it out, or scan in a DM.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digitaldon.net/in-your-group/groups.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
