How aishervin/telebot works
TELEbot is a browser-based Telegram Bot API studio: users browse/search methods, enter a token, build parameters in generated forms or nested-type builders, synchronize form state with raw JSON, and submit live calls for response inspection. The map separates exploration/state, payload construction, and request/response handling from schema/type logic. README documents hourly schema synchronization, but its implementation is not connected to the browser runtime here; sampled excerpts do not show all internal submission wiring.
Main entry points: App.vue Studio shell · ResultRail.vue Request and response · ParameterInput.vue Parameter controls · TypeEditorModal.vue Nested type builder
Components 24
Method exploration
- Method browser
src/components/MethodSidebar.vue - Not-found suggestions
src/components/NotFoundView.vue - SPA navigation
src/lib/navigation.ts
Payload building
- Bot token input
src/components/TokenBox.vue - Parameter form
src/components/ParameterForm.vue - Parameter controls
src/components/ParameterInput.vue - Nested type builder
src/components/TypeEditorModal.vue - Type field editor
src/components/TypeFieldEditor.vue
Studio runtime
- Studio shell
src/App.vue - Studio state
src/composables/useTelegramStudio.ts - Privacy notice
src/components/PrivacyNoticeModal.vue - Notice persistence
src/lib/cookies.ts - Modal focus trap
src/composables/useFocusTrap.ts
Schema and API
- Type schema logic
src/lib/typeSchema.ts - Telegram helpers
src/lib/telegram.ts - Schema model
src/types/schema.ts - Schema sync engine
scripts/update-telegram-schema.mjs - Published API schema
public/schema/bot-api.json
Response and feedback
- Request and response
src/components/ResultRail.vue - JSON highlighting
src/lib/jsonHighlight.ts - Fullscreen modal
src/components/FullscreenModal.vue - Toast notices
src/components/ToastStack.vue
Other components
- Bot developer
- Telegram Bot API
Connections 27
- Bot developer → Studio shell: uses workspace
README.md - Studio shell → Studio state: creates state
src/App.vue - Studio shell → Method browser: renders
src/App.vue - Studio shell → Bot token input: renders
src/App.vue - Studio shell → Parameter form: renders
src/App.vue - Studio shell → Request and response: renders
src/App.vue - Studio shell → Toast notices: renders
src/App.vue - Studio shell → Privacy notice: renders
src/App.vue - Method browser → SPA navigation: intercepts links
src/components/MethodSidebar.vue - Not-found suggestions → SPA navigation: intercepts links
src/components/NotFoundView.vue - Parameter form → Parameter controls: renders fields
src/components/ParameterForm.vue - Parameter controls → Nested type builder: opens builder
src/components/ParameterInput.vue - Nested type builder → Type field editor: renders editor
src/components/TypeEditorModal.vue - Type field editor → Type schema logic: serializes types
src/components/TypeFieldEditor.vue - Nested type builder → Type schema logic: parses types
src/components/TypeEditorModal.vue - Parameter controls → Telegram helpers: infers controls
src/components/ParameterInput.vue - Parameter controls → Type schema logic: checks variants
src/components/ParameterInput.vue - Studio state → Telegram helpers: parses payloads
src/composables/useTelegramStudio.ts - Request and response → Telegram helpers: formats JSON
src/components/ResultRail.vue - Request and response → JSON highlighting: highlights JSON
src/components/ResultRail.vue - Request and response → Fullscreen modal: opens dialogs
src/components/ResultRail.vue - Privacy notice → Notice persistence: persists choice
src/components/PrivacyNoticeModal.vue - Privacy notice → Modal focus trap: traps focus
src/components/PrivacyNoticeModal.vue - Fullscreen modal → Modal focus trap: traps focus
src/components/FullscreenModal.vue - Studio state → Telegram Bot API: sends test calls
- Telegram Bot API → Request and response: returns response
- Schema sync engine → Published API schema: updates schema