Skip to content

MirrorVladislav/TMaxChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TMaxChat V0.10.0 - beta

TMaxChat — это неофициальный TUI-клиент для MAX на Python. Легковесный терминальный клиент, ориентированный на эффективность, минимизацию сетевых накладных расходов и управление поведением пользователем.

Интерфейс сделан в духе DOS / Norton Commander:

  • слева список чатов;
  • справа сообщения выбранного чата;
  • внизу статус и клавиши действий.

TMaxChat Screenshot

Проект построен на Textual и maxapi-python.

Возможности

  • вход по номеру телефона и коду из SMS;
  • сохранение сессии в config.json;
  • список диалогов и групп;
  • чтение истории сообщений;
  • подгрузка старых сообщений;
  • отправка текстовых сообщений;
  • ответ на выбранное сообщение;
  • отправка фото и файлов;
  • скачивание вложений;
  • поиск по сообщениям в текущем чате;
  • фоновое обновление списка чатов и сообщений;
  • счётчики непрочитанных;
  • ручная отметка сообщений как прочитанных;
  • просмотр активных сессий;
  • выход из аккаунта с очисткой локальных данных.

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

  • session.py — низкоуровневая работа с MAX через pymax;
  • state.py — состояние приложения и прикладная логика;
  • tui.py — интерфейс на Textual;
  • app_config.py — чтение и запись конфигурации;
  • main.py — точка входа.

Требования

  • Python 3.11+
  • установленные зависимости:
pip install -r requirements.txt

Запуск

Запускать нужно из родительской папки проекта:

python -m TMaxChat

При первом запуске, если token и device_id пустые, программа откроет окно входа:

  1. введите номер телефона;
  2. выберите тип клиента стрелками Left/Right (Для обеспечения стабильности рекомендуется использовать профиль Desktop);
  3. введите код из SMS.

После успешного входа сессия будет сохранена в config.json.

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

Основные настройки лежат в config.json:

  • token — сессионные данные; Do not share your config.json. It contains sensitive authentication data.
  • device_id — идентификатор устройства;
  • phone — номер телефона для повторного входа;
  • device_type — тип клиента (DESKTOP, ANDROID, IOS);
  • app_version — версия клиента для pymax;
  • poll_interval — интервал фонового обновления;
  • notification_sounds — звуковые уведомления;
  • work_dir — папка кэша;
  • download_dir — папка скачивания вложений.

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

  • Tab — переключить активную панель;
  • Enter — открыть чат / перейти к сообщению-источнику ответа;
  • Ctrl+F / F8 — поиск в текущем чате;
  • Esc — отмена / закрытие окна;
  • F1 — помощь;
  • F2 — обновить список чатов и текущий чат;
  • F3 — написать сообщение;
  • F4 — ответить на выбранное сообщение;
  • F5 — скачать вложение;
  • F6 — отправить вложение;
  • F7 — отметить прочитанным до выбранного сообщения;
  • F9 — аккаунт и сессии;
  • F10 — выход.

Сессии и выход

В окне F9 можно:

  • посмотреть активные сессии;
  • закрыть все другие сессии;
  • выйти из текущего аккаунта.

При выходе из аккаунта приложение:

  • завершает текущую серверную сессию;
  • очищает локальные токены;
  • удаляет локальный кэш;
  • возвращает пользователя в окно нового входа.

Почему

Разработано для пользователей, предпочитающих рабочие процессы, управляемые клавиатурой, и легковесные терминальные инструменты.

Важные замечания

  • Это неофициальный клиент.
  • Поведение некоторых служебных чатов MAX может отличаться от обычных диалогов.

Disclaimer

This project is an independent, unofficial client and is not affiliated with or endorsed by MAX.

It does not modify or redistribute any official client code.

Use at your own risk.

This project is licensed under the GNU General Public License v3.0.

About

Unofficial terminal client for MAX built with Python and Textual.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages