Добро пожаловать! Ты читаешь документацию проекта TARSS - Tony's Anti-Raid Security System - самого надежного и безопасного бота в стиле "сделай-сам", который сделает ваш любимый сервер чуть-чуть безопаснее. Весь проект был написан с нуля энтузиастом @zephyr30
(Discord). В отличии от других анти-рейд ботов Тарсс предоставляется "как есть", полностью с исходным кодом, для личного использования. Вы можете спокойно изменять код, дополнять его (см. усл. использования в конце) и делать его еще лучше :)
Структура бота представляет из себя:
- конфигурационный файл;
- скрипт для чтения конфигурационного файла;
- директория с логами;
- скрипт для записи логов в файлы;
- директория с когами*;
- основной файл main;
- установочный скрипт (setup).
Конфигурационный файл содержит в себе необходимые переменные для запуска бота (токен, айди некоторых каналов, мут-роли, и т.п.). Его заполнение осуществляется с помощью setup файла.
! О мут-роли: рекомендуется создать эту роль c правами по умолчанию, и добавить ее в права каждой категории сервера и запретить отправлять сообщения, ствить реакции, подключаться к войсам и т.д.. у меня работает :^)
! Об Intents: так как бот авторизируется на сервере как администратор, по мимо того, что его роль должна быть выше остальных, также необходимо включить поставить галки везде в пунктах Privileged Gateway Intents во вкладке Bot вашего бота.
! * Про коги
Системка довольно простая, но эффективная. При запуске бот создает кеш в виде словаря, в котором хранится информация о сообщениях каждого участника. Каждое новое сообещние, бот проверяет, не переполнен ли кеш (макс. 5 вхождений для 1 пользователя) и, если да, то проверяет дату создания сообщений. Если эти 5 сообщений были созданы менее чем с перерывом в 8 секунд, то он их удаляет и выдает участнику мут. С такой скоростью печатают только рейдеры.
Еще одна ступень защиты, простая, как столб, но не менее эффективная. Бот проверяет последние 5 сообщений в канале, и, если они одинаковые, то удаляет их. Звучит просто? Да. Правильно ли с точки зрения морали? не очень...)) Дело в том, что вторая ступень иногда работает не совсем так, как хотелось бы. На некоторых серверах присутствуют, например, каналы с мемами, и, если отправлять их без контекста, даже пачками с разным количеством мемов, когда их накопится 5 штук и никто ничего в канал не напишет, бот выдаст мемным поставщикам мут. Не знаю как, но это будет исправлено в грядущих версиях.
Тут все в общем просто:
/banuser
- забанить участника. Ког -ban
/kickuser
- выгнать участника. Ког -kick
/clear [amonut]
- очистить [amount] сообщений в текущем канале. Ког -clear
/reload_cog [cog]
- перезагрузить определенный ког. Ког -reload
/ping
- пинг бота в мс. Ког -ping
TODO - команда /mute
чтобы вручную мутить пользователей.
Перейдите в рабочую директорию Вашего бота.
git clone https://github.com/EthanPlayerOne/TARSS
cd TARSS/
python3 setup.py
Следуйте инструкциям в скрипте. Обратите внимание, что иногда для корректной установки всех зависимостей pip требует наличие среды в текущей папке, если pip не установил зависимости, попробуйте создать env и попробовать еще раз. Так же можно установить зависимости вручную:
pip install disnake pyyaml --break-system-packages
Рекомендуется создать свой embed для приветствия новых участников (см. main.py
)
После успешной установки, запустите файл где-нибудь в терминале: python3 main.py
Установочный скрипт еще не тестировался на Windows, но в теории он должен работать на Windows 10 и выше. Если вы используете винду, пожалуйста, оставьте фидбек мне в лс в дискорд: @zephyr30
. Буду очень вам признателен!
Если у вас есть предложения по улучшению или вы нашли какой-то баг, вы можете открыть issue (если что-то сломалось и вы не знаете как это чинить) или pull request (если вы уже знаете как починить или починили), и я обязательно рассмотрю эту проблему в течении нескольких дней.
TARSS - бот для Discord, разработанный @zephyr30 (Discord) распространяется как открытый исходный код. Бот предназначен для использования на ОДНОМ сервере; это значит, что бот "запилен" под каждый отдельный сервер и привязан к айди некоторых каналов/ролей. Исходным (коренным) репозиторием является TARSS (https://github.com/EthanPlayerOne/TARSS). Копиируя и используя этот код в своих проектах (ботах) публикуя их исходный код, Вы обязуетесь:
- распространять Ваш проект так же с открытым исходным кодом;
- придерживаться комментариев в коде, ссылающихся на данный документ;
- использовать Вашего бота только на ОДНОМ сервере (запретить добавлять его на другие всяким способом через Discord Developer Portal);
- для пункта выше: допускается использования приватных тестовых серверов.
- применять все те же условия использования к своему проекту; допускается дополнение условий новыми пунктами, не пересекающими условия использования исходного (коренного) репозитория;
Разработчик и владелец коренного (исходного) репозитория снимает с себя ответственность за любой ущерб, вызванный некорректным, необдуманным, неграмотным, или не соответствующим условиям использования кодом.
Допускается обновление условий использования в исходном (коренном) репозитории (https://github.com/EthanPlayerOne/TARSS), в этом случае условия использования, распространяющиеся на Ваш проект тоже должны быть обновлены в соответствии с обновленной версией условий настоящего репозитория.
Допускается дополнение условий использование в Вашем проекте в соответствии с Вашими нуждами.