Skip to content

Latest commit

 

History

History
248 lines (178 loc) · 6.77 KB

SPECIFICATION.md

File metadata and controls

248 lines (178 loc) · 6.77 KB

Discord Activity Bot

Простой, надёжный и локальный Discord-бот для отслеживания активности участников сервера.


📊 Что это?

Бот считает очки активности по 4 категориям:

  • 📝 Текстовые каналы (максимум 15 очков)
  • 🎙️ Голосовые каналы (максимум 10 очков)
  • 🎉 События (максимум 5 очков)
  • 🎭 Другая активность (максимум 5 очков)

Всего максимум: 35 очков

Бот автоматически считает процент активности и показывает, проходит пользователь или нет (по умолчанию нужно 65%).


⚡ Быстрый старт

Требования

  • Python 3.8+
  • Токен Discord-бота

Установка (5 минут)

  1. Скачай Python: https://www.python.org/
  2. Установи зависимости:
    pip install -r requirements.txt
  3. Получи токен бота:
  4. Добавь токен в .env:
    DISCORD_TOKEN=твой_токен
    
  5. Запусти бота:
    python bot.py

Подробная инструкция: смотри SETUP.md


🎮 Команды

!add @user text 5           — добавить 5 очков в текст
!set @user text 15 voice 10 — установить значения
!score @user                — показать статистику
!reset @user                — сбросить очки
!setthreshold 70            — изменить порог (админ)
!helpactivity               — справка

Примеры использования: смотри EXAMPLES.md


📁 Структура

discord_activity_bot/
├── bot.py                 # Основной файл бота
├── requirements.txt       # Зависимости
├── .env.example          # Пример конфига (переименуй в .env)
├── config.ini            # Конфиг параметров
├── activity.db           # БД (создаётся автоматически)
│
├── README.md             # Полная документация
├── SETUP.md              # Пошаговая установка
├── QUICKSTART.md         # Быстрый старт
├── EXAMPLES.md           # Примеры команд
└── SPECIFICATION.md      # Техническая информация

✨ Особенности

✅ Локальное хранилище — всё в SQLite, без облака
✅ Простота — минимум зависимостей
✅ Надёжность — проверены на ошибки
✅ Гибкость — легко менять пороги и лимиты
✅ Быстро — работает локально


🗄️ База данных

Используется SQLite (встроенный в Python).

Таблица users:

  • guild_id — ID сервера
  • user_id — ID пользователя
  • text, voice, events, other — очки
  • threshold — проходной процент

Автоматически создаётся при запуске бота.


📋 Формула расчёта

Процент = (текст + голос + события + другое) / 35 * 100

Статус = "ПРОЙДЁТ" если процент >= порог, иначе "НЕ ПРОЙДЁТ"

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

  • ⚠️ НИКОГДА не делись токеном!
  • 📁 .env добавлен в .gitignore (не загружается в Git)
  • 🔐 Данные хранятся локально на диске

Если токен скомпрометирован:

  1. Перейди на Discord Developer Portal
  2. Нажми Regenerate рядом с TOKEN

📦 Зависимости

Только одна библиотека:

  • discord.py 2.3.2 — официальная библиотека Discord
pip install -r requirements.txt

🚀 Запуск

Windows:

.\run.bat

Linux/Mac:

bash run.sh

Или во всех системах:

python bot.py

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

Файл Описание
README.md Полная документация с примерами
SETUP.md Пошаговая инструкция установки
QUICKSTART.md Быстрый старт за 5 минут
EXAMPLES.md Примеры использования команд
SPECIFICATION.md Техническая информация

🐛 Решение проблем

Бот не отвечает?

  1. Проверь интенты в Discord Developer Portal ✅ Message Content Intent
  2. Убедись, что бот имеет права в канале
  3. Посмотри на ошибки в консоли

Ошибка токена?

  1. Проверь, правильно ли скопирован токен
  2. Убедись, что файл .env на месте
  3. Перезагрузи бота

Python не найден?

python --version

Если не работает — переустанови Python и выбери "Add to PATH"


💡 Примеры

Добавление очков

!add @Alice text 5
!add @Bob voice 3

Проверка результата

!score @Alice

Вывод:

Статистика для Alice:
Текст: 5/15
Голос: 0/10
Ивенты: 0/5
Другая активность: 0/5

Всего: 5/35  — 14.29%
Проходной балл: 65%
Статус: НЕ ПРОЙДЁТ ❌

Установка всех значений

!set @Alice text 15 voice 10 events 5 other 5

Изменение порога (только админ)

!setthreshold 70

📄 Лицензия

MIT License — используй свободно!


👤 Автор

Создано для надёжного отслеживания активности на Discord-серверах.


🎯 Начни сейчас!

  1. Открой SETUP.md для пошагового руководства
  2. Запусти бота (python bot.py)
  3. Пригласи его на свой сервер
  4. Используй команды! 🚀

Вопросы? Смотри документацию или проверь логи консоли.