TikTok Live Reader (мониторинг и запись прямых эфиров)
Это дополнение подключается к прямым эфирам TikTok и извлекает из них
информацию в реальном времени. Для доступа к конкретному прямому эфиру
оно использует Python-библиотеку TikTokLive. Поддерживаются следующие
возможности:
- Сохранение извлеченных данных в текстовые файлы, создаваемые в папке Documents\TikTok live.
- Отслеживание событий: комментарии, новые подписчики, подарки, лайки, репосты, посетители и запросы на подключение к эфиру.
- Файл событий, который может записывать несколько типов данных одновременно.
- Звуковые уведомления для выбранных событий, таких как новые комментарии, подарки и т.д.
- Статистика эфира: отображает текущих зрителей, общее количество посетителей сессии, общее количество лайков, новых подписчиков и полученные алмазы.
- Таблица лидеров по подаркам: ранжирует пользователей по активности на основе отправленных алмазов (от наиболее к наименее активным).
- Таблица лидеров по лайкам: ранжирует пользователей по общему количеству лайков во время эфира.
TikTok Live Reader позволяет ведущим или зрителям отслеживать основные
данные эфира без использования внешних инструментов. Данные сохраняются
в текстовые файлы в папке Documents\Tiktok live. Их можно просмотреть
позже. Дополнение извлекает следующие типы данных в отдельные файлы:
- comments.txt — Записывает все комментарии, обнаруженные во время прямого эфира, с указанием времени.
- followers.txt — Регистрирует всех новых пользователей, которые подписались на создателя эфира во время текущей сессии.
- gifts.txt — Регистрирует все полученные подарки с указанием пользователя, типа подарка, количества и времени.
- likes.txt — Показывает, кто ставил лайки эфиру, когда и сколько раз.
- requests.txt — Регистрирует все запросы на присоединение к эфиру, отправленные ведущему.
- shares.txt — Записывает пользователей, которые поделились прямой трансляцией, с указанием времени.
- stats.txt — Показывает текущее количество зрителей, новых подписчиков, общее количество лайков, посетителей сессии и общее количество полученных алмазов.
- top gifts.txt — Таблица лидеров среди пользователей, отправлявших подарки, ранжированная от наиболее к наименее активным.
- top likes.txt — Таблица лидеров среди пользователей, ранжированная по общему количеству лайков.
- visitors.txt — Записывает всех посетителей, заходивших в эфир во время текущей сессии, с указанием времени.
- events.txt — Расположенный между файлами комментариев и подписчиков при навигации с клавиатуры, этот файл регистрирует различные типы событий, определенные в настройках. Цель — легко отслеживать комментарии, подписчиков, подарки, лайки, запросы, репосты или посетителей в одном месте.
Настройки
TikTok Live Reader имеет собственное окно настроек, которое можно открыть с
помощью сочетания клавиш NVDA+Shift+Control+L. Оно содержит 3 вкладки:
Общие
Этот раздел включает следующие параметры:
- Имя пользователя — Введите имя пользователя (хозяина эфира) TikTok без символа @.
- Очищать файлы при запуске — Удаляет содержимое текстовых файлов при запуске дополнения.
- Очищать имена пользователей — Эта опция удаляет из имен пользователей ненужные элементы. Многие пользователи TikTok используют эмодзи и символы Unicode, которые мешают работе программ чтения экрана. При включении этой опции имена сокращаются до букв, цифр и знаков пунктуации.
- Количество попыток подключения — Определяет, сколько раз дополнение должно пытаться подключиться к прямому эфиру.
События
Этот раздел содержит флажки, определяющие, какие данные будут записываться в
файл events.txt (комментарии, подписчики, подарки, лайки, запросы, репосты и
посетители). Дополнительные настройки:
- Воспроизводить звуки для выбранных событий — Воспроизводит определенный короткий звук (например, для нового комментария или подарка). Это можно переключать с помощью NVDA+Shift+Control+P.
- Громкость — Регулирует уровень звука уведомлений.
- Ознакомиться со звуками — Воспроизводит описание звуков, чтобы пользователи могли привыкнуть к различным звуковым сигналам.
Автопроизнесение
Этот раздел определяет, какие данные будут озвучиваться, когда включена
функция Автопроизнесения. Активируйте её с помощью NVDA+Shift+Control+S
или с помощью флажка “Автоматически произносить выбранные события”. Когда
функция активна, можно выбрать конкретные события для автоматического
чтения (например, “Новый подписчик: Имя пользователя"). Звуки и сообщения
воспроизводятся с секундной паузой между ними и сохраняются во временных
файлах, чтобы гарантировать их последовательное воспроизведение во время
эфиров с высокой нагрузкой. Функции звуков и автопроизнесения работают
независимо.
Как использовать дополнение
Нажмите NVDA+Shift+Control+T, и клиент TikTok Live Reader попытается
подключиться к пользователю. Статус подключения объявляется автоматически.
После подключения становятся доступны следующие сочетания клавиш:
- Control+Shift+Стрелка вправо — Следующий файл (например, Комментарии, События, Подписчики и т.д.).
- Control+Shift+Стрелка влево — Предыдущий файл.
- Control+Shift+Стрелка вниз — Следующий элемент в текущем файле (например, комментарий, лайк, репост).
- Control+Shift+Стрелка вверх — Предыдущий элемент.
- Control+Shift+Home — Выбрать первый элемент в текущем файле.
- Control+Shift+End — Выбрать последний элемент.
- NVDA+Shift+Control+V — Сообщает текущее количество зрителей.
- NVDA+Shift+Control+S — Включает или выключает автопроизнесение.
- NVDA+Shift+Control+P — Включает или выключает звуки.
- NVDA+Shift+Control+R — Очищает содержимое текстовых и временных файлов.
Нажмите NVDA+Shift+Control+T, чтобы завершить сеанс работы дополнения.
Примечания
- Открытие настроек временно отключает автопроизнесение и звуки, но запись данных продолжается в фоновом режиме.
- Если имя пользователя изменено в настройках, дополнение попытается подключиться к новому пользователю после сохранения.
- Если автоматическая очистка файлов при запуске отключена, файлы будут содержать данные с последнего прямого эфира. Если вы хотите очистить их в начале текущего сеанса, нажмите NVDA+Shift+Control+R.
- Если ручная очистка не выполнялась, дополнение запоминает вашу последнюю позицию в файлах (например, строка 45 в комментариях).
Ограничения
- Невозможно отобразить полный список зрителей, поскольку библиотека TikTokLive не сообщает о выходе пользователя из эфира.
- По той же причине невозможно ранжирование по времени просмотра.
- Названия подарков выводятся на английском языке, так как их слишком много и они слишком часто обновляются для возможности перевода.
- Запросы на присоединение гостей регистрируются только в том случае, если пользователь ранее взаимодействовал с эфиром. Это связано с тем, что TikTok не публикует публично имена пользователей, которые только запрашивают разрешение на подключение без другой активности.
История изменений
Версия 1.5
- Стабилизирована логика загрузки и отключения дополнения.
- Выполнен переход на шаблон дополнений NVDA для улучшенной автоматизации и локализации.
- Стабилизирована логика регистрации лайков, репостов и подписок.
- Опция автопроизнесения теперь учитывается дополнением. Объявления начинаются через 10 секунд после успешного подключения.
- Вкладка “Автопроизнесение” теперь динамически скрывает параметры событий, если основная функция отключена.
- Исправлена ошибка, из-за которой звуки и объявления воспроизводились сразу после перезапуска дополнения.
- Добавлено сочетание клавиш NVDA+Shift+Control+P для переключения звуков во время активного сеанса.
- Добавлены клавиши быстрого доступа (Alt + буква) для всех настроек.
- Оптимизирована логика работы ползунка громкости звука. Его подпись теперь — Громкость.
- Настройки теперь сохраняются динамически. Фоновая запись данных продолжается, пока открыто окно настроек.
- Добавлено автоматическое подключение к новому пользователю, если имя изменено во время активного сеанса.
- Добавлена поддержка отслеживания запросов на присоединение гостей. Они сохраняются в файле requests.txt.
- Добавлена новая опция “Запросы” в настройках и соответствующее звуковое уведомление для этого события.
- Добавлена проверка поля имени пользователя: должно содержать не менее двух символов и может включать только латинские буквы, цифры, точки и знаки подчеркивания.
Благодарности
- Спасибо MuhammadGagah за оптимизацию логики загрузки в изолированной среде и за перевод на индонезийский язык.
- Спасибо Бене Карковой (Bena Karkova) за отличные идеи, поддержку и веру в этот проект.
Заключительные пояснения
Это дополнение было разработано с помощью языковых моделей ChatGPT,
Google Gemini и Claude OPUS 4.6 Thinking. Оно распространяется под
лицензией GNU General Public License 2.0.