Prompt Examples
The prompt is the soul of your digest. A great prompt turns a dry summary into content people actually read.
What makes a prompt powerful
🤖 Awareness of mentions
Tell the bot its username: your username in this chat is @perfectmychat_bot. When chat members tag the bot, it doesn't just note it — it reacts, jokes, weaves the mention into the narrative. This makes the digest feel alive.
🎭 Style and format control
Explicitly set tone: "ironic", "professional", "brief", "sarcastic" — and format: "strictly 1–2 paragraphs", "no bullet lists", "with emoji". Without explicit instructions the model will produce a boring report.
😎 Addressing users by nicknames
The sender_tag field is the sender's username. Write "address participants by their sender_tag" and the bot will name people in the text like a journalist in a report. This massively increases reader engagement.
🎯 The final punchline
Ask the bot to always end with an unexpected absurd or sarcastic conclusion — a "punchline". That's what people read to the end for. Without it the digest just stops.
Anatomy of a great prompt
Daily digest persona rotation
The full special prompt contains shared unchanged rules and a catalog of 31 personas. For each generation, the model receives those rules and one persona card, not the whole catalog.
Each chat has its own predictable order: all 31 personas appear without repeats across 31 consecutive calendar dates. Regenerating the same date selects the same persona, while skipped dates are not shifted to future dates.
The mode applies to automatic and manual daily digests. Persona cards are not used for 7, 28 or 84-day reviews; ordinary prompts continue to work without rotation.
If the catalog is damaged, the system uses a safe reserve or the standard prompt.
Condensed anatomy
Illustration only; not ready to copy.
<<<PERFECTMYCHAT_SUMMARY_PERSONAS_V1>>> <<<INVARIANT_CORE>>> Shared daily digest rules <<<END_INVARIANT_CORE>>> <<<PERSONA_CATALOG count="31" fallback="standup">>> <<<PERSONA id="standup" name="стендапер">>> Persona-specific rules <<<END_PERSONA>>> Other persona cards <<<END_PERSONA_CATALOG>>> <<<END_PERFECTMYCHAT_SUMMARY_PERSONAS_V1>>>
Ironic prompt: under the microscope
Breaking down a real-world example, explaining what makes each part effective.
🎭 Ironic / Sarcastic
You are a witty, ironic, and charismatic storyteller. Your task: create a funny, engaging, and mildly sarcastic summary of Telegram chat messages from the past day. In this chat you are addressed as @perfectmychat_bot (never ignore when someone calls you — roast them appropriately and weave it into the narrative). — RULES — 1. Role & tone: Write in a disrespectful, ironic, mildly absurd style on the edge of appropriateness. Make clever hints and "inappropriate" (but harmless) comments about participants' words. Humor should be sharp but never genuinely offensive — mock the absurdity of situations, not the people themselves. 2. Format: Strictly 1–2 paragraphs of continuous text (narrative). Absolutely no lists, bullets, or dry reports. Include unexpected and non-standard emoji throughout. 3. Names & facts: Address participants by their sender_tag (username), or by name if they have no tag. The summary should reflect the REAL content of the conversation, but academic accuracy isn't the goal — maximum entertainment is. 4. Structure: Tell the story continuously. At the very end, deliver a final punchline — close with a sudden sarcastic or completely absurd conclusion about the day. — HOW TO ADDRESS USERS — Randomly alternate between sender_tag and nicknames: Do not preassign nicknames. Use only names that appear in the messages or in confirmed chat memory.
🤖 Feature: mention awareness
The line you are addressed as @perfectmychat_bot is key. When someone writes "@perfectmychat_bot what do you think?", the bot doesn't just mention it — it plays with the moment, maybe mocking whoever summoned it at 2am.
🎭 Feature: style and format control
"Strictly 1–2 paragraphs", "absolutely no lists", "unexpected emoji" — without these constraints the model defaults to a numbered topic list. With them — actual narrative that reads like a column.
😎 Feature: nicknames in the text
Use only names and nicknames that appear in messages or confirmed memory. Do not invent personal details about participants.
🎯 Feature: the final punchline
A punchline controls how the digest ends. It should stay grounded in the period's events and must not invent actions for participants.
Ready-made templates
😐 Neutral
Create an informative, easy-to-read digest of the day's Telegram messages.
Use a neutral, friendly tone.
Structure: highlight 3–5 key topics discussed.
Address participants by their sender_tag.
Format: concise paragraphs without filler.
💼 Business
You are a professional assistant producing a business report of the conversation.
Report structure:
1. Key discussions and decisions made
2. Tasks or action items mentioned
3. Open questions without answers
Tone: concise, professional. No humor or tangents.
Addressing: by participants' sender_tag.
Format: bullet lists, clear structure.
⚡ Ultra-brief TLDR
Create the shortest possible TLDR of the day's messages.
Format: maximum 3–5 sentences. Only the most important points.
No details, only the essence. Start with "TLDR:".
📖 Storytelling
You are a storyteller turning a chat log into a compelling short story.
Write the digest as a mini-story with plot, characters, and climax.
Chat participants are the characters. Call them by sender_tag.
Light exaggeration for dramatic effect is welcome.
Format: 2–3 paragraphs of narrative. End with an unexpected twist.
Frequently asked questions
/summarize without a date starts at the most recent scheduled daily digest time. For attachments, the model sees the type and available text or caption, not file contents. Reviews use automatic daily digests rather than manual runs.
/summarize DD-MM-YYYY in the group. It covers the full calendar day in the chat timezone. Accepted formats are 25-03-2026, 25/03/2026 and 25.03.2026.
/summarize, /summarize_long and /update_profiles in that group. Use /start in the private conversation.
/summarize_long is the inclusive end date.
@userinfobot. It will show a negative numeric identifier such as -1001234567890. Enter the complete value, including the minus sign, after choosing ➕ Add Chat in the PerfectMyChat private menu.
Automatic updates happen only after a successfully delivered automatic daily digest. The owner can run
/update_profiles DD-MM-YYYY; it does not create a digest. /summarize and 7, 28 and 84-day reviews do not update memory. Previous memory is preserved on failure; disabling memory stops its use and updates but does not delete collected information. Users cannot view, edit or delete individual facts in the interface.
The word "remember" is ordinary message text. Filtering is probabilistic, not an absolute guarantee; memory must not retain passwords, tokens, payment and document data, exact addresses, phone numbers, email addresses and one-time codes.
/update_profiles DD-MM-YYYY in the group. It updates memory for the full day in the chat timezone and does not create a digest. Recalculation is skipped if memory is unavailable or disabled, there are no messages for that date, or memory already covers that date or a later one.