5.2 KiB
modbot.py
Питоновый бот для помощи с модерацией Peertube Livechat
А что может?
- Мьютить(mute) юзера
- Анмьютить юзера
- Таймаутить юзера (мьют, который снимется сам через заданное время)
- Отслеживать, чтобы юзер не обходил мьют сменой ника (да, по дефолту может)
- Удалять все сообщения юзера
- Банить юзера (сразу вместе с удалением сообщений)
- Несколько режимов работы чата
- Анмьютнуть всех
- Мьютить свежеприбывших неавторизованных юзеров
- Замьютить ВСЕХ неавторизованных юзеров
- Замьютить вообще всех, кроме модераторов
- Рейтлимиты (юзер, отправивший больше Х сообщений за Y секунд будет таймаутнут на Z секунд)
- Списки запрещенных слов в сообщениях и никах.
Требования
- Python 3
- Requests (python3 -m pip install requests)
Если вы на винде и у вас лапки, то питон можно достать тут, бота архивом скачать здесь, а в папке с ботом есть файл start_modbot.bat, по даблклику на который установятся остальные зависимости и запустится бот.
Настройка
Отредактируйте settings.py (как текстовый файл).
- instance - сюда вписать домен инстанса Peerture. Без https и слэшей.
- username и password - имя пользователя и пароль от аккаунта на данном инстансе, который послужит ботом.
- room - здесь UUID комнаты чата (Где взять UUID комнаты чата???).
Вы можете использовать аккаунт, владеющий правами модератора в выбранной комнате. Это значит, что если вы рядовой юзер, вы можете использовать свой аккаунт в качестве бота в комнате собственного стрима, а если вы модератор инстанса Peertube - в любой комнате.
Необязательные настройки там же:
- timeout_default - на сколько секунд будет затаймаучен юзер, если была введена команда !timeout без указания времени.
- ratelimit_timewindow - временное окно для измерения рейтлимитов
- ratelimit_maxmessages - сколько сообщений может отправить юзер в пределах временного окна
- ratelimit_timeout - на сколько секунд будет замьючен юзер, отправивший больше.
Впишите слова, заблокированные в никнеймах, в файле bannedusernames.txt, и заблокированные в чате - в файле bannedwords.txt. По одному слову на строку. Эти файлы можно изменять в процессе работы бота - обновления подтянутся и применятся автоматически.
Запуск
cd modbot
python3 modbot.py
Или даблклик по start_modbot.bat
, если вы почётный пользователь виндовсов.
Если всё введено правильно, то в чате стрима вы увидите "[ModBot]: Online!" - на этом этапе бот успешно подключен к комнате.
Команды
Вводить команды можно в чате стрима, если у вас есть права модератора в комнате, а так же в терминале с запущеным ботом. Внимание - USERID в командах - не jid и не ник пользователя, это выданный ему ботом числовой порядковый номер. Подробнее - дальше.
!help
- вывод короткой справки по командам.
!users
- вывести список пользователей
Список пользователей выводится в следующем формате:
USERID) [name] (jid, role, affiliation)
Например:
13) [lnkr] (lnkr@xxivproduction.video, moderator, owner)
Здесь:
- USERID: 13
- Ник: lnkr
- jid: lnkr@xxivproduction.video
- роль: moderator
- принадлежность: owner