Telegram Bot + Mini App for city walking quests. - React 19 + TypeScript + Vite 6 frontend - Express 5 + PostgreSQL backend - grammY Telegram bot with DeepSeek AI - GitLab CI/CD: lint, build, deploy to production Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
export function getPointContentPrompt(params: {
|
||
city: string
|
||
pointTitle: string
|
||
dayNumber: number
|
||
companions: string
|
||
pace: string
|
||
lang: string
|
||
}): string {
|
||
const langInstruction = params.lang === 'ru'
|
||
? 'Write the content entirely in Russian.'
|
||
: 'Write the content entirely in English.'
|
||
|
||
const toneMap: Record<string, string> = {
|
||
solo: params.lang === 'ru' ? 'задумчивый, философский' : 'introspective, philosophical',
|
||
couple: params.lang === 'ru' ? 'романтический, с нотками приватности' : 'romantic, intimate',
|
||
family: params.lang === 'ru' ? 'познавательный, увлекательный' : 'educational, engaging',
|
||
friends: params.lang === 'ru' ? 'весёлый, энергичный' : 'fun, energetic',
|
||
}
|
||
|
||
return `The traveler has arrived at: ${params.pointTitle}
|
||
City: ${params.city}, Day ${params.dayNumber}
|
||
Companions: ${params.companions}, Pace: ${params.pace}
|
||
|
||
Generate a FULL guide content for this location.
|
||
This is the moment of revelation — the traveler is standing here right now.
|
||
|
||
${langInstruction}
|
||
|
||
Content must include:
|
||
- Opening that acknowledges their arrival (e.g., "You're standing in front of...")
|
||
- Historical context (2-3 paragraphs)
|
||
- Cultural significance
|
||
- Interesting facts and hidden details
|
||
- What to look for right now
|
||
- A personal tip or recommendation
|
||
|
||
Length: 300-500 words
|
||
Tone: atmospheric, discovery-oriented, ${toneMap[params.companions] || 'balanced'}
|
||
|
||
Do NOT include JSON formatting. Write natural flowing text with paragraphs.`
|
||
}
|