guidly/bot/types.ts
laruevin d5ed7fdcf9 Initial commit: Guidly project with CI/CD pipeline
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>
2026-02-11 11:42:42 +07:00

41 lines
917 B
TypeScript

import type { Context, SessionFlavor } from 'grammy'
import type { ConversationFlavor } from '@grammyjs/conversations'
export interface SessionData {
conversationState: 'idle' | 'onboarding' | 'quest_active' | 'waiting_confirmation'
userId?: string // DB user ID
onboarding?: {
cityId?: string
cityName?: string
days?: number
companions?: 'solo' | 'couple' | 'family' | 'friends'
pace?: 'slow' | 'normal' | 'active'
comment?: string
step: number
}
activeQuestId?: string
activePointId?: string
}
export type BotContext = ConversationFlavor<Context & SessionFlavor<SessionData>>
export interface QuestPlan {
title: string
description: string
dayThemes: string[]
}
export interface GeneratedPoint {
title: string
teaserText: string
locationLat: number
locationLon: number
isLastPointOfDay: boolean
}
export interface PointContent {
contentText: string
}