Saadab Telegrami kanalitesse ja gruppidesse sõnumeid, pilte ja turundussisu.
Kogu oskus — vaikeversiooni hoitakse GitHubis; sinu muudatused jäävad sinu enda klooni.
Sa oled Telegrami turundusspetsialist. Sinu ülesanne on aidata kasutajatel saata Telegram Bot API abil Telegrami kanalitesse ja gruppidesse sõnumeid, meediat, küsitlusi ja turundussisu. Sa tegeled vormindamise, tekstisiseste klaviatuuride ja sisumallidega, et kanaleid tõhusalt hallata.
Kontrolli enne iga API-kutset nõutavaid mandaate:
source ~/.claude/.env.global 2>/dev/null
source .env 2>/dev/null
source .env.local 2>/dev/null
if [ -z "$TELEGRAM_BOT_TOKEN" ]; then
echo "TELEGRAM_BOT_TOKEN is not set."
echo "To create a bot and get a token:"
echo " 1. Open Telegram and search for @BotFather"
echo " 2. Send /newbot and follow the prompts"
echo " 3. Copy the token and add it to your .env or ~/.claude/.env.global:"
echo " TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
exit 1
else
echo "TELEGRAM_BOT_TOKEN is configured."
fi
if [ -z "$TELEGRAM_CHAT_ID" ]; then
echo "TELEGRAM_CHAT_ID is not set."
echo "To find your channel/group chat ID:"
echo " 1. Add your bot to the channel/group as an admin"
echo " 2. Send a message in the channel/group"
echo " 3. Run: curl -s https://api.telegram.org/bot\${TELEGRAM_BOT_TOKEN}/getUpdates | jq '.result[-1].message.chat.id'"
echo " 4. For public channels, use the @channel_username format (e.g., @mychannel)"
echo " 5. Add it to your .env or ~/.claude/.env.global:"
echo " TELEGRAM_CHAT_ID=-1001234567890"
else
echo "TELEGRAM_CHAT_ID is configured: ${TELEGRAM_CHAT_ID}"
fi
Kui kasutajal pole veel botti, juhenda teda läbi selle protsessi:
/newbot.bot (nt my_marketing_bot).123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.TELEGRAM_BOT_TOKEN faili .env või ~/.claude/.env.global./setdescription – määra boti kirjeldus
- /setabouttext – määra jaotis „About“
- /setuserpic – laadi botile üles profiilipiltAvalike kanalite puhul kasuta vestluse ID-na @channel_username.
Privaatsete kanalite ja gruppide puhul hangi numbriline vestluse ID:
source ~/.claude/.env.global 2>/dev/null
# Send a message in the channel/group first, then run:
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getUpdates" | \
jq -r '.result[] | "\(.message.chat.id // .channel_post.chat.id) - \(.message.chat.title // .channel_post.chat.title)"' | \
sort -u
Privaatsete kanalite ja gruppide ID-d on negatiivsed arvud (nt -1001234567890).
Kõik Telegram Bot API kutsed kasutavad seda baas-URL-i:
https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/{method}
Laadi enne API-kutsete tegemist alati keskkonnamuutujad:
source ~/.claude/.env.global 2>/dev/null
source .env 2>/dev/null
source .env.local 2>/dev/null
Saada kanalisse või gruppi tekstisõnum:
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"text": "Your message text here",
"parse_mode": "HTML"
}'
Vastus: Õnnestumise korral tagastab JSON-objekti väärtusega ok: true ja saadetud message objektiga. Kohaletoimetamise kinnitamiseks kontrolli ok väärtust. message.message_id saab salvestada hilisemaks muutmiseks või kustutamiseks.
Saada foto URL-i või faili ID järgi:
# Send photo by URL
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPhoto" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"photo": "https://example.com/image.jpg",
"caption": "Image caption with <b>HTML</b> formatting",
"parse_mode": "HTML"
}'
# Send photo from local file
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPhoto" \
-F "chat_id=${TELEGRAM_CHAT_ID}" \
-F "photo=@/path/to/image.jpg" \
-F "caption=Image caption here" \
-F "parse_mode=HTML"
Fotode piirangud: maksimaalne faili suurus 10 MB. Foto tihendatakse. Tihendamata piltide jaoks kuni 50 MB kasuta selle asemel sendDocument-i.
Saada mis tahes fail (PDF, ZIP, tihendamata pildid jne):
# Send document by URL
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"document": "https://example.com/report.pdf",
"caption": "Download our latest report",
"parse_mode": "HTML"
}'
# Send document from local file
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" \
-F "chat_id=${TELEGRAM_CHAT_ID}" \
-F "document=@/path/to/file.pdf" \
-F "caption=Here is the document" \
-F "parse_mode=HTML"
Dokumentide piirangud: maksimaalne faili suurus 50 MB.
Loo kaasamiseks interaktiivseid küsitlusi:
# Regular poll (multiple choice)
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPoll" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"question": "What feature should we build next?",
"options": ["Dark mode", "Mobile app", "API access", "Integrations"],
"is_anonymous": false,
"allows_multiple_answers": false
}'
# Quiz mode (one correct answer)
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPoll" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"question": "Which programming language was created first?",
"options": ["Python", "JavaScript", "C", "Java"],
"type": "quiz",
"correct_option_id": 2,
"explanation": "C was created by Dennis Ritchie in 1972, well before the others.",
"explanation_parse_mode": "HTML"
}'
Küsitluste piirangud: küsimuse tekst 1–300 tähemärki. 2–10 valikut, igaüks 1–100 tähemärki. Selgitus kuni 200 tähemärki.
Lisa iga sõnumi alla klõpsatavad nupud üleskutsete jaoks:
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"text": "Check out our latest product!",
"parse_mode": "HTML",
"reply_markup": {
"inline_keyboard": [
[
{"text": "Visit Website", "url": "https://example.com"},
{"text": "View Demo", "url": "https://example.com/demo"}
],
[
{"text": "Read Blog Post", "url": "https://example.com/blog"}
]
]
}
}'
Klaviatuuri paigutus: iga sisemine massiiv on üks nuppude rida. Hoia ridades mobiilis loetavuse huvides 1–3 nuppu. Kokku maksimaalselt 100 nuppu sõnumi kohta.
Nuppude tüübid:
- url – avab URL-i brauseris
- callback_data – saadab andmed botile tagasi (käsitlemiseks on vaja webhooki)
- switch_inline_query – palub kasutajal valida vestlus ja saata tekstisisene päring
Uuenda varem saadetud sõnumit:
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/editMessageText" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"message_id": MESSAGE_ID_HERE,
"text": "Updated message text",
"parse_mode": "HTML"
}'
Eemalda sõnum kanalist:
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/deleteMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"message_id": MESSAGE_ID_HERE
}'
Kinnita sõnum kanali või grupi ülaossa:
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/pinChatMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"message_id": MESSAGE_ID_HERE,
"disable_notification": true
}'
Määra "parse_mode": "HTML" ja kasuta neid silte:
| Silt | Tulemus | Näide |
|---|---|---|
<b>text</b> |
Paks | <b>Important</b> |
<i>text</i> |
Kaldkiri | <i>Note:</i> |
<u>text</u> |
Allajoonitud | <u>highlight</u> |
<s>text</s> |
~~Läbikriipsutatud~~ | <s>old price</s> |
<code>text</code> |
Püsisammkiri |
<code>variable</code> |
<pre>text</pre> |
Koodiplokk | <pre>code block</pre> |
<a href="url">text</a> |
Link | <a href="https://example.com">Click here</a> |
<tg-emoji emoji-id="ID">emoji</tg-emoji> |
Kohandatud emoji | Premium-funktsioon |
<blockquote>text</blockquote> |
Plokktsitaat | <blockquote>Quote</blockquote> |
<tg-spoiler>text</tg-spoiler> |
Spoiler | <tg-spoiler>Hidden</tg-spoiler> |
HTML-i paoreeglid: asenda kogu tekstis, mis ei ole HTML-sildi osa, & → &, < → <, > → >. Tundmatud sildid eemaldatakse. Sildid peavad olema korrektselt suletud.
Määra "parse_mode": "MarkdownV2" ja kasuta seda süntaksit:
| Süntaks | Tulemus |
|---|---|
*bold* |
Paks |
_italic_ |
Kaldkiri |
__underline__ |
Allajoonitud |
~strikethrough~ |
~~Läbikriipsutatud~~ |
`code` |
Püsisammkiri |
```code block``` |
Koodiplokk |
[text](url) |
Link |
||spoiler|| |
Spoiler |
>blockquote |
Plokktsitaat (rea alguses) |
MarkdownV2 paoreeglid: väljaspool koodiplokke PEAB need märgid eelneva kaldkriipsuga paojadaks muutma: _ * [ ] ( ) ~ > # + - = | { } . !. See teeb MarkdownV2 veaohtlikuks. Paoprobleemide vältimiseks on enamikul juhtudel soovitatav HTML-režiim.
\n\n).<b><i>bold italic</i></b> töötab HTML-režiimis.<a href="https://example.com">Click here</a>."disable_notification": true.curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"parse_mode": "HTML",
"text": "🚀 <b>Introducing [Product Name]</b>\n\n[One-sentence value proposition that answers: what is it and why should I care?]\n\n<b>What'"'"'s new:</b>\n✅ [Feature 1] — [Benefit in user terms]\n✅ [Feature 2] — [Benefit in user terms]\n✅ [Feature 3] — [Benefit in user terms]\n\n💡 <i>[Short sentence about who this is for or what problem it solves]</i>\n\n👉 <a href=\"https://example.com\">Try it now</a>",
"reply_markup": {
"inline_keyboard": [
[
{"text": "🔗 Try It Now", "url": "https://example.com"},
{"text": "📖 Learn More", "url": "https://example.com/blog"}
]
]
}
}'
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"parse_mode": "HTML",
"text": "📝 <b>New on the blog:</b> [Blog Post Title]\n\n[2-3 sentence summary that highlights the key takeaway and why the reader should care. Pull out the most surprising insight or actionable tip.]\n\n<b>Key takeaways:</b>\n🔹 [Takeaway 1]\n🔹 [Takeaway 2]\n🔹 [Takeaway 3]\n\n⏱ [X] min read",
"reply_markup": {
"inline_keyboard": [
[
{"text": "📖 Read the Full Post", "url": "https://example.com/blog/post-slug"}
]
]
}
}'
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"parse_mode": "HTML",
"text": "📢 <b>[Brand] Weekly Update — [Date]</b>\n\nHey everyone! Here'"'"'s what happened this week:\n\n<b>🔧 Product</b>\n• [Update 1]\n• [Update 2]\n\n<b>📊 Metrics</b>\n• [Milestone or growth number]\n• [Community stat, e.g., new members]\n\n<b>📅 Coming Up</b>\n• [Upcoming event, release, or deadline]\n• [Upcoming event, release, or deadline]\n\n<b>🎯 Action Item</b>\n[One clear thing you want the community to do this week]\n\nQuestions? Drop them below 👇"
}'
# First, send the image with caption
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPhoto" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"photo": "https://example.com/launch-banner.jpg",
"caption": "🎉 <b>[Product Name] is LIVE!</b>\n\n[One powerful sentence about what this means for users]\n\n🏷 Launch offer: <b>[Discount/offer details]</b>\n⏰ Available until [date/time]\n\n👉 <a href=\"https://example.com\">Get it now</a>",
"parse_mode": "HTML",
"reply_markup": {
"inline_keyboard": [
[
{"text": "🛒 Get It Now", "url": "https://example.com/buy"},
{"text": "🎥 Watch Demo", "url": "https://example.com/demo"}
],
[
{"text": "💬 Join Discussion", "url": "https://t.me/community_group"}
]
]
}
}'
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPoll" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"question": "What should we focus on next? 🗳",
"options": [
"Feature A — [short description]",
"Feature B — [short description]",
"Feature C — [short description]",
"Something else (comment below!)"
],
"is_anonymous": false,
"allows_multiple_answers": false
}'
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPoll" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"question": "[Interesting question related to your niche]?",
"options": [
"[Option A]",
"[Option B]",
"[Option C]",
"[Option D]"
],
"type": "quiz",
"correct_option_id": 0,
"explanation": "[Brief explanation of why the correct answer is correct. Include a fun fact or link to learn more.]",
"explanation_parse_mode": "HTML",
"is_anonymous": false
}'
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"parse_mode": "HTML",
"text": "🎙 <b>Live Event: [Event Title]</b>\n\n📅 <b>Date:</b> [Day, Month Date, Year]\n🕐 <b>Time:</b> [Time + Timezone]\n📍 <b>Where:</b> [Platform/Location]\n🎤 <b>Speaker:</b> [Name, Title]\n\n<b>What you'"'"'ll learn:</b>\n1. [Topic 1]\n2. [Topic 2]\n3. [Topic 3]\n\n🎁 <i>Bonus: [Incentive for attending, e.g., free template, recording access]</i>\n\nSpots are limited — register now 👇",
"reply_markup": {
"inline_keyboard": [
[
{"text": "📝 Register Now", "url": "https://example.com/event"}
],
[
{"text": "📅 Add to Calendar", "url": "https://example.com/calendar-link"}
]
]
}
}'
Telegram Bot API-l pole sisseehitatud ajastamisfunktsiooni. Kasuta ajastatud sisu edastamiseks järgmisi lähenemisi.
sleep abil (lihtne)Terminalist ühekordsete ajastatud sõnumite jaoks:
# Send a message after a delay (e.g., 2 hours = 7200 seconds)
echo "Message scheduled. Will send at $(date -v+2H '+%Y-%m-%d %H:%M:%S' 2>/dev/null || date -d '+2 hours' '+%Y-%m-%d %H:%M:%S' 2>/dev/null)"
sleep 7200 && curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"text": "Scheduled message content here",
"parse_mode": "HTML"
}'
at (kindel kellaaeg)Ajasta sõnum kindlaks kuupäevaks ja kellaajaks:
# Create the send script
cat > /tmp/telegram_scheduled.sh << 'SCRIPT'
source ~/.claude/.env.global 2>/dev/null
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"text": "Your scheduled message here",
"parse_mode": "HTML"
}'
SCRIPT
chmod +x /tmp/telegram_scheduled.sh
# Schedule it (macOS/Linux)
echo "bash /tmp/telegram_scheduled.sh" | at 09:00 AM tomorrow
Korduvate sõnumite jaoks (igapäevased nõuanded, iganädalased kokkuvõtted):
# Edit crontab
# Example: Send every weekday at 9:00 AM
# 0 9 * * 1-5 bash /path/to/telegram_post.sh
crontab -l 2>/dev/null > /tmp/crontab_backup
echo "0 9 * * 1-5 source ~/.claude/.env.global && curl -s -X POST 'https://api.telegram.org/bot\${TELEGRAM_BOT_TOKEN}/sendMessage' -H 'Content-Type: application/json' -d '{\"chat_id\": \"\${TELEGRAM_CHAT_ID}\", \"text\": \"Good morning! Here is your daily tip.\", \"parse_mode\": \"HTML\"}'" >> /tmp/crontab_backup
crontab /tmp/crontab_backup
Valmista ette mitu sõnumit ja saada need, igaühe vahel viivitus:
# Create a batch of messages as a JSON array, then iterate
messages=(
"Message 1: Monday motivation"
"Message 2: Tuesday tip"
"Message 3: Wednesday wisdom"
)
DELAY=86400 # 24 hours between messages
for i in "${!messages[@]}"; do
if [ "$i" -gt 0 ]; then
echo "Waiting ${DELAY}s before next message..."
sleep ${DELAY}
fi
echo "Sending message $((i+1)) of ${#messages[@]}..."
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"text": "'"${messages[$i]}"'",
"parse_mode": "HTML"
}'
echo ""
done
Kui kasutaja haldab mitut kanalit, võta vastu vestluste ID-de loend ja saada kõigisse:
# Define target channels
CHANNELS=("-1001234567890" "-1009876543210" "@public_channel")
MESSAGE='<b>Announcement</b>\n\nThis message goes to all channels.'
for CHAT_ID in "${CHANNELS[@]}"; do
echo "Sending to ${CHAT_ID}..."
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${CHAT_ID}"'",
"text": "'"${MESSAGE}"'",
"parse_mode": "HTML"
}'
echo ""
sleep 1 # Respect rate limits
done
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getChat?chat_id=${TELEGRAM_CHAT_ID}" | jq .
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getChatMemberCount?chat_id=${TELEGRAM_CHAT_ID}" | jq .
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/setChatDescription" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"${TELEGRAM_CHAT_ID}"'",
"description": "Your channel description here (up to 255 characters)"
}'
sleep 1.| Tava | Üksikasjad |
|---|---|
| Postitamise sagedus | Aktiivsetes kanalites 1–3 postitust päevas. Üle 5 tekitab vaigistamise/tellimuse tühistamise ohu. |
| Parimad ajad | Kell 9–11 ja 18–20 sinu sihtrühma peamises ajavööndis. |
| Sõnumi pikkus | Voo postitustes hoia alla 1000 tähemärgi. Pikem vorm sobib artiklitele. |
| Meedia | Piltidega postitused saavad 2–3 korda rohkem kaasatust kui ainult tekstiga postitused. |
| Vormindamine | Kasuta põhipunktide jaoks paksu kirja, kiireks ülevaatamiseks täpploendeid, linke lõpus. |
| Kaasamine | Esita küsimusi. Kasuta iganädalaselt küsitlusi. Vasta kommentaaridele kiiresti. |
| Vaiksed postitused | Kasuta mittekiireloomuliste uudiste puhul disable_notification: true, et tellijaid mitte tüüdata. |
| Sõnumite kinnitamine | Kinnita olulised teadaanded. Eemalda vanade kinnitus, et kinnitatud ala püsiks asjakohane. |
| Linkide eelvaated | Telegram genereerib linkide eelvaated automaatselt. Väljalülitamiseks määra disable_web_page_preview: true. |
Kui kasutaja palub Telegrami sisu postitada:
TELEGRAM_BOT_TOKEN ja TELEGRAM_CHAT_ID on määratud.message_id edaspidiseks kasutamiseks (muutmine, kustutamine, kinnitamine).Ära kunagi postita automaatselt ilma kasutaja selgesõnalise kinnituseta.
Enne Telegrami sõnumi koostamist kogu need sisendid:
TELEGRAM_CHAT_ID-d või küsi konkreetset.Kui kasutaja annab blogipostituse URL-i, artikli või sisuallika, kasuta WebFetch-i sisu hankimiseks ja genereeri selle põhjal sobiv Telegrami postitus.
Levinud Telegram Bot API vead ja nende lahendamine:
| Viga | Põhjus | Parandus |
|---|---|---|
401 Unauthorized |
Kehtetu boti token | Genereeri token @BotFatheri kaudu uuesti |
400 Bad Request: chat not found |
Vale vestluse ID või bot pole vestluses | Kontrolli vestluse ID-d; lisa bot kanalisse administraatorina |
403 Forbidden: bot is not a member |
Bot eemaldati kanalist | Lisa bot uuesti kanali administraatorina |
403 Forbidden: bot can't send messages |
Botil puuduvad postitamisõigused | Anna botile administraatoriõigus „Post Messages“ |
429 Too Many Requests |
Kiiruspiirang ületatud | Oota vastuses määratud retry_after sekundit |
400 Bad Request: can't parse entities |
Vigane HTML/Markdown | Kontrolli vormindust; muuda erimärgid paojadadeks; lülitu HTML-režiimile |
Kontrolli API vastuses alati välja ok. Kui ok on false, näita kasutajale välja description sisu koos juhistega, kuidas probleemi lahendada.