Skip to content

KOSFin/paramEXT-from-syncshare

Repository files navigation

paramEXT — Enhanced SyncShare

Chrome Web Store Manifest Version Version License

paramEXT — расширенная версия SyncShare для автоматизации тестов на Moodle и OpenEdu.


Возможности

Moodle

Режим Описание
Палочка (Wand) Показывает кнопку рядом с каждым вопросом. Нажмите, чтобы увидеть статистику и выбрать ответ.
Авто-вставка (Auto-Insert) Автоматически заполняет ответы на основе статистики сразу при открытии теста.
Авто-прорешивание (Auto-Solve) Решает весь тест и автоматически переходит на следующие страницы.

OpenEdu

Режим Описание
Палочка Inline-кнопки рядом с каждым вопросом — показывает проверенные ответы и статистику.
Подсказки + проверка Помогает с выбором ответов и проверяет правильность.
Автоматический режим Полностью автоматическое решение с авто-переходом между разделами.

Дополнительные функции OpenEdu

  • Авто-переход после прохождения раздела
  • Обновление состояния активного раздела
  • Боковая панель со статистикой по всем вопросам
  • Резервная статистика (как в Moodle)
  • Настраиваемая задержка авто-перехода
  • Горячие клавиши для показа/скрытия палочки

Установка расширения

Шаг 1: Скачайте расширение

Вариант А — через Git:

git clone https://github.com/KOSFin/paramEXT-from-syncshare.git

Вариант Б — ZIP-архив:

  1. На странице репозитория нажмите зеленую кнопку Code
  2. Выберите Download ZIP
  3. Распакуйте архив в удобное место

Шаг 2: Загрузите в Chrome

  1. Откройте chrome://extensions/
  2. Включите Режим разработчика (переключатель в правом верхнем углу)
  3. Нажмите Загрузить распакованное расширение
  4. Выберите папку с файлами paramEXT (где лежит manifest.json)
  5. Готово — иконка paramEXT появится на панели расширений

Примечание: paramEXT автоматически заменит оригинальное расширение SyncShare, если оно установлено, так как оба используют одинаковые ключи Chrome. Весь функционал SyncShare сохраняется.


Настройка для OpenEdu (пошагово)

Для работы с OpenEdu необходим персональный токен из Telegram-бота.

Шаг 1: Зарегистрируйтесь в боте

  1. Откройте Telegram-бота: @paramext_bot
  2. Нажмите Start или отправьте команду /start
  3. Бот ответит сообщением с вашим персональным токеном — скопируйте его

Шаг 2: Настройте расширение

  1. Нажмите на иконку paramEXT на панели расширений Chrome
  2. Переключитесь на вкладку OpenEdu
  3. Внизу нажмите кнопку Настройки API
  4. Перейдите на вкладку API OpenEdu
  5. В поле Bearer токен вставьте скопированный токен
  6. Нажмите Проверить API — статус должен стать Онлайн
  7. Нажмите Сохранить

Шаг 3: Используйте на сайте

  1. Откройте тест на openedu.ru
  2. Рядом с вопросами появятся кнопки палочки с ответами
  3. Выберите подходящий режим в настройках расширения

Настройка для Moodle

Moodle работает сразу после установки без дополнительной настройки токена.

  1. Нажмите на иконку paramEXT
  2. Убедитесь, что выбрана вкладка Moodle
  3. Выберите режим:
    • Палочка — кнопка рядом с каждым вопросом (по умолчанию)
    • Авто-вставка — автоматическое заполнение ответов
    • Авто-прорешивание — полная автоматизация (нажмите Старт для запуска)
  4. Настройте горячую клавишу для показа/скрытия палочки (по умолчанию Escape)
  5. Нажмите Сохранить

Команды Telegram-бота

Команда Описание
/start Регистрация и получение персонального токена
/token Показать текущий токен + кнопка перегенерации
/stats Статистика: количество тестов, вопросов и правильных ответов
/help Справка по командам и настройке

Настройки API

В разделе Настройки API (кнопка внизу popup) можно настроить подключение к бэкенду отдельно для Moodle и OpenEdu:

  • Адрес API — URL сервера (по умолчанию https://syncshare.naloaty.me/api для Moodle, https://paramext.ruka.me/api для OpenEdu)
  • Bearer токен — персональный токен из Telegram-бота
  • Таймаут запросов — время ожидания ответа от сервера в миллисекундах
  • Проверить API — проверка доступности сервера
  • Сбросить путь — сброс адреса API к значению по умолчанию

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

paramEXT/
  manifest.json          — конфигурация расширения (Manifest V3)
  env.example            — пример переменных окружения
  js/
    popup_new.js         — логика popup-окна расширения
    platform_settings.js — управление настройками
    content_logic.js     — контент-скрипт для Moodle
    openedu_content.js   — контент-скрипт для OpenEdu
    background_worker.js — фоновый Service Worker
    commons.js           — общие утилиты
    quiz_attempt.js      — обработка попыток Moodle
    quiz_board.js        — доска вопросов Moodle
    quiz_overview.js     — обзор теста Moodle
  html/
    popup/               — HTML popup-окна
  css/
    popup/               — стили popup
    widgets/             — стили виджетов (контекстное меню, палочка OpenEdu)
  python/
    app/                 — бэкенд (FastAPI + PostgreSQL + Telegram-бот)
  _locales/              — локализация (ru, en)

FAQ

В: Расширение не показывает ответы на OpenEdu О: Проверьте, что вы зарегистрированы в @paramext_bot, токен вставлен в настройках API, и статус API — «Онлайн».

В: Кнопки палочки не появляются О: Убедитесь, что вы находитесь на странице теста. Попробуйте обновить страницу. Проверьте, что палочка не скрыта горячей клавишей.

В: Как вернуться на оригинальный SyncShare? О: Удалите paramEXT из chrome://extensions/ и установите SyncShare из Chrome Web Store.

В: Авто-прорешивание не переходит на следующую страницу (Moodle) О: Проверьте, что текст кнопки «Далее» в настройках совпадает с текстом на странице (по умолчанию «Следующая страница»).


Проблемы и предложения

Если что-то не работает или есть идеи по улучшению — создайте issue в репозитории:

GitHub Issues

Пожалуйста, опишите:

  • Что именно не работает
  • На какой платформе (Moodle / OpenEdu)
  • Скриншот ошибки из консоли (F12 -> Console), если есть

Если расширение вам помогло, поставьте звезду на GitHub — это очень мотивирует продолжать разработку!

Made with ❤️ by paramEXT contributors

Оригинальный SyncShare

About

Авто-решатель тестов Moodle на базе SyncShare

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors