Telegram bot backend for Web2Comics. The bot accepts text, web links, PDF links/files, image links/files, and voice/audio, then generates comic panels and sends ordered panel images back to chat.
Bot overview doc: ../docs/telegram-bot.md Extension overview doc: ../docs/extension.md Extension README: ../README.md Shared engine overview: ../docs/engine.md Engine manual source: ../engine/manual.md Bot release notes: docs/release-notes.md GitHub Pages bot docs: https://apartsinprojects.github.io/Web2Comics/HTML/telegram-bot.html
/start, /welcome, /help, /about, /version, /user, /config, /explain, /debug <on|off>/invent <story>/random/peek, /peek <n>, /peek<n>/vendors [role], /vendor <role> <name>, /vendor <name>/models [text|image|url|image_extract|pdf|voice] [model]/test/panels <count>, /objective [name], /objectives/language <code>, /mode <default|media_group|single>/consistency <on|off>, /detail <low|medium|high>/crazyness <0..2>, /concurrency <1..5>, /retries <0..3>/summary, /fun, /learn, /news, /timeline, /facts, /compare, /5yold, /eli5, /study, /meeting, /howto, /debate/style <preset-or-your-style>/new_style <name> <text>/classic, /noir, /manga, /superhero, /watercolor, /newspaper, /cinematic, /anime, /cyberpunk, /pixel-art, /retro-pop, /minimalist, /storybook, /ink-wash, /line-art, /clay-3d/prompts/set_prompt story <text>/set_prompt panel <text>/set_prompt objective <name> <text>/list_options, /options <path>/keys, /setkey <KEY> <VALUE>, /unsetkey <KEY>, /reset_config, /restart/... command is rejected as unrecognized (not treated as story text).../engine/../docs/engine.mdX(Y) for each panelon)Background + Image description fields (no Story title line)/consistency on): generate summary reference image first, then use it as style reference for panel generation on supported image modelsprotect_content=false)/objective without args lists all objectivesnpm install
npm run telegram:start
npm run test:telegram:local
npm run test:telegram
Optional:
npm run test:telegram:gemini-real
npm run test:telegram:r2-real
npm run test:telegram:full-stack
npx vitest run -c telegram/vitest.config.js telegram/tests/webhook-url-real.e2e.test.js
Optional real URL e2e is opt-in and requires:
RUN_WEBHOOK_URL_REAL=trueRUN_RENDER_REAL_GEMINI=1GEMINI_API_KEY setRecommended automatic path:
npm run bot:deploy:auto -- --target render --env staging --branch stage1 --env-only
Release package:
v1.0.4Web2Comics-TelegramBot-v1.0.4-deploy.zipIncludes: