💡 How to write the perfect prompt for Signaller AI
Signaller is a Telegram AI bot that helps you filter and structure content from other channels. It can find important news, convert it into a clean Telegram format, or discard noise altogether.
Most importantly: the bot works exactly as you tell it to. The result depends entirely on your prompt — the instruction text you provide. Here’s a practical guide to crafting an effective prompt for your channel or project.
🚀 All flexibility lives in your prompt
There is no built‑in “smartness” in Signaller.pro that magically detects what’s important or what’s junk. There are no multi‑layered system instructions like some large LLM services. The bot’s behavior is defined only by your user prompt.
That means:
- All logic is in your hands. The bot does exactly what you write — nothing more.
- No hidden rules or system constraints. You fully define the style, format, filters, and processing logic.
- Good prompt = good result. Clear instructions yield valuable posts and save time.
If you want the bot to:
- ignore memes and giveaways,
- nicely format partnership announcements,
- avoid adding any extra text,
— you must spell it out in your prompt.
- Signaller’s power shines when you learn to write precise instructions. Below is how to do it right.
🔇 What does “no signal” mean?
“no signal” is a special phrase the bot treats as a command to not send the post to Telegram. It’s used for automatic moderation.
📌 How it works
If the bot decides a post doesn’t match your criteria, it should respond with only this phrase:
no signal
This blocks publication — the post won’t appear in your channel or moderation.
✅ Example instruction for your prompt
“If the text includes ads, contests, memes, or meaningless chatter — just write
no signal
and nothing else.”
✍️ How to write a good prompt
A few simple but important rules to get accurate results from AI.
1. Be as specific as possible
The more precisely you describe what to do, the better the bot performs.
- ❌ Bad: “Write news about crypto.”
- ✅ Good: “Extract the token/project name, describe the event (listing, partnership, report), add key dates. If it’s just a joke or meme — reply
no signal
.”
2. Define filters (“no signal”)
List everything that is noise for you. For example:
- Airdrops and freebies
- Polls, contests, giveaways
- Empty discussions with no facts
- Memes and sarcastic posts
- Direct ads or obscure projects
📌 Suggested wording:
“If a post contains giveaways, affiliate links, AMA sessions, or just vague talk — reply only
no signal
.”
3. Use examples (Input → Output)
Examples are the most powerful teaching tool. Show real posts and your desired output.
📌 Example:
Input:
“We’ve partnered with @CoolProject! On to conquering Web3 🚀”
Output:
<b>🤝 New partnership: [Your project] and CoolProject</b> The companies announced a strategic collaboration in Web3.
4. Specify what must NOT appear
This helps avoid undesired behavior:
✅ Examples:
- Don’t add sarcasm
- Don’t use Markdown (
**
,__
,*
) - Don’t invent facts
- Don’t insert bare links (only hidden via
<a>
) - Don’t retell posts verbatim
📌 Important:
Signaller.pro accepts only HTML markup. **
, *
, __
, ~~
and other Markdown symbols are not allowed. Use only:
<b>
, <i>
, <u>
, <a>
, <code>
, <pre>
, <blockquote>
, <s>
, <tg-spoiler>
Mind Telegram’s message length limits
Telegram limits the length of a single message. Signaller AI trims overly long outputs to avoid send errors.
- Post with an image: caption limit — 1024 characters.
- Text‑only post: message limit — 4096 characters.
If your AI output can be long, add a brevity constraint to your prompt, e.g., “Keep it concise, max 500 characters.”
5. Important: model knowledge is time‑limited
Like any large model, Gemini doesn’t know events after a certain cutoff date. The AI might not have context for very recent news. Keep this in mind when analyzing posts.
Knowledge cutoff dates for the used models:
- gemini‑2.0‑flash / gemini‑2.0‑flash‑lite — August 2024
- gemini‑2.5‑flash / gemini‑2.5‑flash‑lite / gemini‑2.5‑pro — January 2025
When dealing with just‑published news, the model may lack context. In such cases, focus the prompt on reformatting rather than analysis or adding missing details.
6. Hallucinations, accuracy, and AI mistakes
AI isn’t perfect. Sometimes it “hallucinates” — invents facts absent from the post or misinterprets content. “no signal” filtering also won’t be 100% accurate.
What to do if the model makes things up?
If you see the bot adding non‑existent information, reinforce your prompt with strict prohibitions. This is the most effective anti‑hallucination tactic.
Add the following lines at the start or end of your prompt:
- “Act strictly based on the provided text.”
- “Do not invent or infer anything.”
- “If information is incomplete, write less rather than add anything.”
- “Your task is to reformat, not to create new content.”
The stricter and more specific your ban on “creativity,” the more precisely the model follows instructions.
Few‑shot prompting — what it is and how to use it
In short: few‑shot is providing several “input → desired output” examples to demonstrate format and evaluation criteria. Unlike one‑shot (one example) or zero‑shot (no examples), multiple examples let you set style, format, and behavior filters precisely. This is especially useful for Signaller AI where you want strict “no signal” rules and exact HTML formatting.
Why it works for Signaller:
- Examples show how to format headings, links, and tags (
<b>
,<a>
, etc.) and what to treat as noise — reducing “guessing” and formatting errors. - The prompt library demonstrates that real templates with examples produce stable, reproducible results. Use them as a base.
How to write a few‑shot block (recommend 2–5 examples):
- Start with a short role and filtering rules (e.g., “no signal” for memes/giveaways).
- Provide 2–4
Input → Output
pairs (real posts and desired HTML output). - End with a general rule: “Apply the same format to the next input.”
Ready‑to‑use template for Signaller (copy to your prompt):
Role: You are a Telegram channel editor; your task is to filter noise and output HTML ready for publishing.
Rules:
- If a post is ads, contests, memes, or meaningless chatter — reply exactly: no signal
- Use only tags: <b>, <i>, <u>, <a>, <code>, <pre>, <blockquote>, <s>, <tg-spoiler>
- Don’t invent facts. Don’t use Markdown.
Examples (FEW‑SHOT):
Input:
"We’re running a giveaway! Subscribe and win an NFT 🎁 Details in the link."
Output:
no signal
Input:
"Company X announced a partnership with Y. Details: https://example.com"
Output:
<b>New partnership: Company X and Y</b>
Company X and Y announced a strategic collaboration. Details — <a href="https://example.com">read</a>.
Input:
"Whale Alert: 997 BTC transferred to Coinbase."
Output:
<b>Large BTC transfer</b>
Whale Alert reports: 997 BTC transferred to Coinbase.
Instruction: Apply the same rules to the next input and output either "no signal" or a ready HTML post.
❌ Not allowed
Don’t use Markdown — the bot doesn’t understand it.
Forbidden constructs:
- bold text
- underlined
strikethrough- italic
📌 HTML only. No asterisks, underscores, or double asterisks. Otherwise the bot may break or render junk.
— X (Twitter) handles:
@elonmusk → <a href="https://x.com/elonmusk">@elonmusk</a>
Hashtags and cleanup:
- Hashtags: keep a single most relevant one.
- Cleanup: remove channel signatures, ad blocks, exchange lists, and referral links at the end.