Skip to content
mzarchiPublic

About

Telegram Analyzer

Resources

Contributing

Security policy

Accessibility

Stars

6 stars

Watchers

2 watching

Forks

Repository files navigation

◈ Telyzer

A Rust-powered foundation for exploring Telegram data & Analysis

A work in progress — built for extensibility, clarity, and control.

Rust License Status GitHub

Overview · Architecture · Getting Started · Roadmap


Overview

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.

Features & Components

  • 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.

Architecture

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

Workspace packages

Package Responsibility
telyzer-core Shared paths and core error types
telyzer-cli Command-line entry point
telyzer-gui Graphical interface prototype

Getting Started

Prerequisites

1. Clone the repository

git clone https://github.com/mzarchi/telyzer.git
cd telyzer

2. Add your Telegram API credentials

Get 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.rs

This file is git-ignored. The project does not build without it.

3. Run the CLI

cargo run -p telyzer-cli

The current CLI initializes the application paths and displays the locations used for application data, configuration, and the Telegram session file.

4. Build the project

Build all workspace packages:

cargo build --workspace

Run static checks with Clippy:

cargo clippy --workspace --all-targets

Tech Stack

Technology Purpose
Rust Core programming language
Cargo Workspace and dependency management
Grammers Telegram client libraries
Tokio Asynchronous runtime
Serde Serialization framework
Iced GUI toolkit

Roadmap

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.

Contributing

Contributions, ideas, and bug reports are welcome.

  1. Fork the repository.
  2. Create a feature branch.
  3. Make your changes and test them.
  4. Open a pull request with a clear description.

For major changes, consider opening an issue first to discuss the proposed approach.

Security & Privacy

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.

License

This project is licensed under the MIT License.


Telyzer · Built by @mzarchi

About

Telegram Analyzer

Resources

Contributing

Security policy

Accessibility

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages