- python 3.6+
- Переходим в директорию, где будет располагаться проект, например:
cd /www
- Клонируем проект с гита:
git clone https://github.com/electis/moderator.git
- Если отсутствует скрипт для установки виртуального окружения, устанавливаем:
sudo apt install virtualenv
- Создаём виртуальное окружение:
virtualenv moderator_venv --python=python3
- Активируем виртуальное окружение:
source moderator_venv/bin/activate
- Устанавливаем зависимости проекта:
pip install -r moderator/requirements.txt
- Переходим в директорию бота:
cd moderator
- Копируем файл с дефолтными настройками:
cp .env.example .env
- Прописываем свои настройки в файле .env
nano .env
bot_token
- токен вашего бота (если ещё нет - заводить через BotFather, инструкции гуглятся)
restricted
- запрещённый контент в чатах
greeting_text
, greeting_video
- дефолтное приветствие
greeting_timeout
- через сколько исчезает
main_admin
- id админа для кастомной настройки чатов
- Пробуем запустить бота
python main.py
Должна появиться надпись: Moderator started
Добавляем бота в тестовый чат, даём права админа
-
Проверяем вступление пользователя в чат - должно вывестись наше приветствие и удалиться дефолтное
-
Выход из чата - должно удалиться дефолтное сообщение о выходе из чата
-
Постинг от простого пользователя (не админа) запрещённого контента - должен удаляться
-
Пишем в личку боту с пользователя, id которого прописали в
main_admin
-
Появятся настройки добаления ещё id админов, добавления настроек чатов (по id), добавленным чатам можно править приветствие
-
Настройки чатов сохраняются в файл
settings.json
Остановить бота - ctrl-c
Для автозапуска бота через supervisor (рекомендуется, если уже не используете другой вариант автозапуска)
- Устанавливаем supervisor
sudo apt install supervisor
- Копируем файл настроек в supervisor
sudo cp moderator/moderator.conf /etc/supervisor/conf.d
-
Изменяем пути в настройках supervisor на свои (если ставили не в /www)
sudo nano /etc/supervisor/conf.d
-
Считываем настройки и запускаем
sudo supervisorctl reread
sudo supervisorctl update
- Посмотреть статус запущенных приложений
sudo supervisorctl status