Skip to content

Esyottil/Discord-Message-Collector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord-Message-Collector

Расширение для Chrome, позволяющее собирать сообщения от конкретных пользователей в Discord с сохранением их в удобном формате.

📋 Функциональность

  • Таргетированный сбор сообщений: Поиск сообщений от указанных пользователей
  • Предустановленные пользователи: Автоматическое определение сообщений от Определёного Пользователя (Curret)
  • Пауза и возобновление: Контроль процесса сбора в реальном времени
  • Интеллектуальная прокрутка: Автоматическая навигация по истории чата
  • Статистика в реальном времени: Подсчет сообщений по пользователям
  • Два режима экспорта: Полный и быстрый экспорт (только Определёный пользователь)
  • Визуальное выделение: Подсветка найденных сообщений в интерфейсе Discord

🚀 Установка

Вариант 1: Загрузка в режиме разработчика

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

Вариант 2: Упаковка в CRX

  1. В chrome://extensions/ нажмите "Упаковать расширение"
  2. Выберите корневую папку проекта
  3. Сохраните полученный .crx файл

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

Основные элементы интерфейса

  • Целевые пользователи: Предустановленные пользователи + дополнительные
  • Лимит сообщений: Максимальное количество сообщений для сбора (1-10000)
  • Панель управления: Старт/Пауза/Стоп сбора
  • Индикатор прогресса: Визуализация процесса сбора
  • Статистика: Количество найденных сообщений по пользователям

Процесс сбора

  1. Подготовка: Откройте Discord в браузере Chrome
  2. Настройка: Укажите дополнительные пользователи (по одному в строке)
  3. Запуск: Нажмите "Старт" для начала сбора
  4. Мониторинг: Следите за прогрессом в статус-баре
  5. Экспорт: Используйте "Экспорт в JSON" или "Быстрый экспорт"

Экспорт данных

  • Полный экспорт: Все найденные сообщения + метаданные
  • Быстрый экспорт: Только сообщения от Определённого пользователя
  • Формат: JSON с временными метками и статистикой

⚠️ Предупреждения и ограничения

Безопасность

  • Discord может ограничивать частые запросы
  • Используйте паузы при сборе большого объема данных
  • Не злоупотребляйте автоматической прокруткой

Ограничения

  • Только для веб-версии Discord
  • Зависит от структуры DOM Discord (может сломаться при обновлениях)
  • Максимальный лимит: 10000 сообщений за сессию

Рекомендации

  • Начинайте с небольших лимитов (100-500 сообщений)
  • Используйте паузы каждые 500 сообщений
  • Экспортируйте данные регулярно

🔧 Технические детали

Архитектура

  • Content Script: Внедряется в страницу Discord, занимается сбором данных
  • Popup: Пользовательский интерфейс для управления сбором
  • Background Script: Координация между компонентами
  • Storage: Сохранение состояния и собранных данных

Селекторы DOM

Расширение использует несколько стратегий поиска элементов:

  • Сообщения: [class*="message"], [data-list-item-id*="messages"]
  • Имена пользователей: [class*="username"], [data-author-id]
  • Содержимое: [class*="messageContent"], [class*="markup"]
  • Контейнер прокрутки: [class*="scroller"], [class*="content"]

Оптимизации

  • Кэширование обработанных сообщений
  • Инкрементальное обновление статистики
  • Очистка памяти при больших объемах данных
  • Случайные задержки для имитации человеческого поведения

📊 Формат экспорта

{
  "metadata": {
    "exportedAt": "2024-01-15T10:30:00Z",
    "totalMessages": 1500,
    "targetUsers": ["user0", "user1"],
    "presetUsers": ["user0"],
    "userStatistics": {
      "user0": 1200,
      "user1": 300
    },
    "sessionId": "1705314600000",
    "presetUserIds": {
      "Curret": "0"
    }
  },
  "messages": [
    {
      "id": "msg_123456789",
      "username": "user0",
      "content": "Привет, это тестовое сообщение",
      "timestamp": "2024-01-15T10:25:00Z",
      "collectedAt": "2024-01-15T10:30:00Z",
      "sessionId": "1705314600000"
    }
  ]
}

## 🐛 Отладка

### Консоль разработчика
```javascript
// Доступ к объекту коллектора
window.getCollector()

// Проверка состояния
console.log(window.discordCollector)

Распространенные проблемы

  1. Не загружается расширение: Проверьте manifest.json на ошибки
  2. Не работает на Discord: Убедитесь, что открыта https://discord.com/*
  3. Не находит сообщения: Discord мог обновить структуру DOM
  4. Ошибки при экспорте: Проверьте права на запись файлов

🔄 Обновление

При обновлении Discord может потребоваться обновить селекторы в contentScript.js:

  • Проверьте структуру DOM через Инспектор элементов
  • Обновите массивы SELECTORS в классе DiscordMessageCollector
  • Протестируйте на небольшом количестве сообщений

📝 Лицензия

Этот проект предназначен для образовательных целей и личного использования. Используйте ответственно и в соответствии с правилами Discord.

🙏 Благодарности

  • Разработчикам Discord за открытый веб-интерфейс
  • Сообществу Chrome Extensions за документацию
  • Тестерам за обратную связь и багрепорты

Версия: 1.0
Последнее обновление: Январь 2024
Совместимость: Chrome 88+
Требования: Аккаунт Discord, доступ к веб-версии

About

Расширение для Chrome, позволяющее собирать сообщения от конкретных пользователей в Discord с сохранением их в удобном формате.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors