Skip to content

F0RLE/Axelate-telegram-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Axelate Telegram Parser

Telegram source parser module for Axelate Launcher.

The module watches configured public Telegram channels, groups them by topic, prepares posts for an operator review flow, and forwards AI requests to launcher-owned services.

What this project owns

  • Telegram bot runtime for parser and publish workflows.
  • Public Telegram feed parsing.
  • Topic and source normalization.
  • Operator publish flow.
  • Custom settings UI in settings-ui/.
  • Thin calls to launcher-owned AI and image services.

The module does not provide free-form chat with the bot and does not store rewrite prompts or AI style policy. Telegram is only the operator surface for source parsing, post preparation, and publishing.

What the launcher owns

Launcher integration metadata, install lifecycle, settings persistence, and module runtime paths are defined in:

axelate-module.toml

The full launcher contract is documented in:

MODULE.md

Runtime model

  • Web parser only.
  • Launcher-owned AI only.
  • Launcher-owned settings file.
  • Launcher-managed runtime and Python dependencies from requirements.txt.
  • Best-effort launcher stage reporting for long-running actions.
  • English, Russian, and Chinese module UI texts.
  • Module-owned local runtime data.
  • Module logs under AxelateData/User/Modules/axelate-telegram-parser/Data/Logs/.

The module does not select AI providers, control launcher lifecycle, generate prompts on its own, or store global launcher configuration.

Progress stages

Long-running Telegram actions show real current work instead of fake typing animations or wait timers. The same stage is also sent to the launcher when its local API is available.

Current stage groups:

parser.*     source loading, Telegram fetch, merge, cache, ready
ai.text.*    text handoff to launcher AI, generation, draft update
ai.image.*   image handoff to launcher AI, generation, draft update

Stage reports are best-effort telemetry. Older launcher versions can ignore them without breaking the module.

Language

The module supports en, ru, and zh. By default module_language is auto, so the bot and settings UI follow the launcher language. The settings UI can also force one language for this module without changing the whole launcher.

Source layout

src/main.py                  Process entrypoint used by the launcher manifest.
src/bot/                     Telegram bot surface, message helpers, progress UI.
src/config/                  Launcher-managed module settings loader.
src/domain/                  Parser constants, validation, post content, publishing.
src/handlers/                Telegram message and callback handlers.
src/integrations/launcher/   Current launcher runtime and AI HTTP bridge.
src/keyboards/               Inline keyboard builders.
src/parsing/                 Telegram public feed parser.
src/runtime/                 Paths, HTTP session, i18n, retry, metrics, local storage.
src/services/                Workflow-level services used by handlers.
src/state/                   FSM and post state mutation helpers.

Development

When the launcher runs this module, it installs requirements.txt into the launcher-managed Python runtime outside this repository. Do not commit .venv, node_modules, caches, logs, or downloaded runtime files into the module.

Install Python dependencies:

pip install -r requirements.txt

Build the custom settings UI:

npm --prefix settings-ui install
npm --prefix settings-ui run typecheck
npm --prefix settings-ui run build

The generated settings-ui/app.js is committed because the launcher loads settings-ui/index.html directly.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors