A work in progress — built for extensibility, clarity, and control.
Telyzer is an evolving Telegram-focused project written in Rust. It is designed around a modular architecture with a shared core, a command-line interface, and a graphical interface.
Built on the Grammers ecosystem, Telyzer lays the groundwork for Telegram client integration and future data analysis capabilities.
Note: Telyzer is currently in early development. Some components are prototypes, and the complete Telegram authentication and analysis workflows are not yet implemented.
- Rust-powered: A modern, compiled foundation with Cargo workspace management.
- Shared Core: Common application paths, configuration locations, and error handling.
- CLI: A command-line entry point for inspecting application directories.
- GUI Prototype: An early login interface built with Iced.
- Cross-platform paths: Platform-aware locations for application data and configuration.
- Telegram integration: Grammers dependencies prepared for client functionality.
- Modular architecture: Separate packages for core logic, CLI, and GUI.
Telyzer is organized as a Cargo workspace:
telyzer/
├── .gitattributes
├── .gitignore
├── Cargo.toml
├── Cargo.lock
├── LICENSE
├── README.md
├── clippy.toml
├── rustfmt.toml
│
├── core/
│ ├── Cargo.toml
│ └── src/
│ ├── auth.rs
│ ├── client.rs
│ ├── config.rs
│ ├── error.rs
│ ├── lib.rs
│ └── secrets.rs.example
│
├── cli/
│ ├── Cargo.toml
│ └── src/
│ ├── main.rs
│ ├── menu.rs
│ └── commands/
│ ├── mod.rs
│ ├── login.rs
│ ├── logout.rs
│ └── whoami.rs
│
└── gui/
├── Cargo.toml
└── src/
├── app.rs
├── constants.rs
├── main.rs
└── ui.rs
| Package | Responsibility |
|---|---|
telyzer-core |
Shared paths and core error types |
telyzer-cli |
Command-line entry point |
telyzer-gui |
Graphical interface prototype |
- Rust
- Cargo
- Git
git clone https://github.com/mzarchi/telyzer.git
cd telyzerGet an api_id and api_hash from https://my.telegram.org, then:
cp core/src/secrets.rs.example core/src/secrets.rs
# edit API_ID and API_HASH inside core/src/secrets.rsThis file is git-ignored. The project does not build without it.
cargo run -p telyzer-cliThe current CLI initializes the application paths and displays the locations used for application data, configuration, and the Telegram session file.
Build all workspace packages:
cargo build --workspaceRun static checks with Clippy:
cargo clippy --workspace --all-targets| Technology | Purpose |
|---|---|
| Rust | Core programming language |
| Cargo | Workspace and dependency management |
| Grammers | Telegram client libraries |
| Tokio | Asynchronous runtime |
| Serde | Serialization framework |
| Iced | GUI toolkit |
Telyzer is actively evolving. Planned development areas include:
- Complete Telegram authentication and session management
- Connect the GUI login flow to the Telegram client
- Implement channel and chat data collection
- Add message analysis and statistical reporting
- Introduce structured data export
- Improve error handling and logging
- Add automated tests and documentation
- Prepare release builds and distribution packages
The roadmap is subject to change as development progresses.
Contributions, ideas, and bug reports are welcome.
- Fork the repository.
- Create a feature branch.
- Make your changes and test them.
- Open a pull request with a clear description.
For major changes, consider opening an issue first to discuss the proposed approach.
- Repository: mzarchi/telyzer
- Issues: Report a bug or suggest a feature
Telegram session files may provide access to an account. Keep session files, API credentials, and exported private data secure.
- Never commit session files or API credentials.
- Do not publish private messages or sensitive exports without authorization.
- Use Telegram data responsibly and respect users' privacy.
This project is licensed under the MIT License.
Telyzer · Built by @mzarchi