killingdruid 72a8f3e6b1
Some checks are pending
CI / Check (push) Waiting to run
CI / Format (push) Waiting to run
CI / Clippy (push) Waiting to run
CI / Build (macos-latest) (push) Waiting to run
CI / Build (ubuntu-latest) (push) Waiting to run
CI / Build (windows-latest) (push) Waiting to run
Merge pull request 'yet-another-changes' (#10) from yet-another-changes into main
Reviewed-on: #10
2026-01-27 22:43:12 +00:00
2026-01-28 01:29:03 +03:00
2026-01-27 13:41:29 +03:00
2026-01-20 01:00:12 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-20 01:00:12 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-20 01:00:12 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-27 13:41:29 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00
2026-01-28 01:29:03 +03:00

tele-tui

License: MIT Rust

Консольный Telegram клиент с Vim-style навигацией.

tele-tui screenshot

Возможности

  • Полная интеграция с Telegram: отправка/получение сообщений, редактирование, удаление, пересылка
  • Vim-style навигация: hjkl + поддержка русской раскладки (ролд)
  • Markdown форматирование: жирный, курсив, подчёркивание, зачёркивание, код, спойлеры, ссылки
  • Реакции на сообщения: emoji picker с навигацией стрелками
  • Папки Telegram: переключение между папками (1-9)
  • Поиск: по чатам (Ctrl+S) и внутри чата (Ctrl+F)
  • Черновики: автосохранение набранного текста при переключении чатов
  • Typing indicator: показывает когда собеседник печатает
  • Закреплённые сообщения: отображение и переход к закреплённому сообщению
  • Копирование в буфер: copy сообщений в системный буфер обмена
  • Профиль: просмотр информации о пользователе/чате
  • Конфигурация: настройка цветов и часового пояса через TOML
  • Оптимизация: 60 FPS, умное кеширование, graceful shutdown

Установка

Требования

  • Rust 1.70+
  • TDLib (скачивается автоматически через tdlib-rs)

Сборка

git clone https://github.com/your-username/tele-tui.git
cd tele-tui
cargo build --release

API Credentials

Получите API credentials на https://my.telegram.org/apps

Создайте файл ~/.config/tele-tui/credentials:

API_ID=your_api_id
API_HASH=your_api_hash

Или используйте .env файл в директории проекта:

API_ID=your_api_id
API_HASH=your_api_hash

Использование

cargo run --release

При первом запуске нужно пройти авторизацию (телефон + код + опционально 2FA пароль).

Конфигурация

Конфигурационный файл создаётся автоматически в ~/.config/tele-tui/config.toml:

[general]
# Часовой пояс в формате "+03:00" или "-05:00"
timezone = "+03:00"

[colors]
# Поддерживаемые цвета: black, red, green, yellow, blue, magenta, cyan, gray, white,
# darkgray, lightred, lightgreen, lightyellow, lightblue, lightmagenta, lightcyan
incoming_message = "white"
outgoing_message = "green"
selected_message = "yellow"
reaction_chosen = "yellow"
reaction_other = "gray"

Горячие клавиши

Навигация

  • ↑/↓ или k/j (р/о) — навигация по списку чатов
  • Enter — открыть чат / отправить сообщение
  • Esc — закрыть чат / отменить действие
  • 1-9 — переключение между папками
  • Ctrl+S — поиск по чатам
  • Ctrl+R — обновить список чатов
  • Ctrl+C — выход

В открытом чате

  • ↑/↓ — скролл сообщений
  • Ctrl+F — поиск в чате
  • n/N — следующий/предыдущий результат поиска
  • i — информация о чате/пользователе

Работа с сообщениями

  • при пустом инпуте — выбор сообщения
  • Enter в режиме выбора — редактировать
  • r / к — ответить (reply)
  • f / а — переслать (forward)
  • d / в / Delete — удалить
  • y / н — скопировать в буфер
  • e / у — добавить реакцию

Emoji Picker (реакции)

  • ←/→/↑/↓ — навигация по сетке
  • Enter — добавить/удалить реакцию
  • Esc — закрыть picker

Редактирование текста

  • ←/→ — перемещение курсора
  • Home — в начало строки
  • End — в конец строки
  • Backspace — удалить символ слева
  • Delete — удалить символ справа

Структура проекта

src/
├── main.rs           # Точка входа, event loop
├── config.rs         # Конфигурация (TOML), credentials
├── app/              # Состояние приложения
├── ui/               # Отрисовка интерфейса
├── input/            # Обработка ввода
├── utils.rs          # Утилиты (форматирование времени, логи)
└── tdlib/            # TDLib интеграция

Зависимости

  • ratatui 0.29 — TUI framework
  • crossterm 0.28 — terminal handling
  • tdlib-rs 1.1 — Telegram API
  • tokio 1.x — async runtime
  • serde + serde_json — serialization
  • toml 0.8 — config parsing
  • dirs 5.0 — XDG directories
  • clipboard 0.5 — clipboard access
  • chrono 0.4 — date/time formatting

Документация

Лицензия

MIT

Description
No description provided
Readme MIT 11 MiB
Languages
Rust 100%