modbot.py/README_RU.md
2022-04-18 04:20:01 +03:00

77 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# modbot.py
Питоновый бот для помощи с модерацией [Peertube Livechat](https://github.com/JohnXLivingston/peertube-plugin-livechat)
## А что может?
- Мьютить(mute) юзера
- Анмьютить юзера
- Таймаутить юзера (мьют, который снимется сам через заданное время)
- Отслеживать, чтобы юзер не обходил мьют сменой ника (да, по дефолту может)
- Удалять все сообщения юзера
- Банить юзера (сразу вместе с удалением сообщений)
- Несколько режимов работы чата
- Анмьютнуть всех
- Мьютить свежеприбывших неавторизованных юзеров
- Замьютить ВСЕХ неавторизованных юзеров
- Замьютить вообще всех, кроме модераторов
- Рейтлимиты (юзер, отправивший больше Х сообщений за Y секунд будет таймаутнут на Z секунд)
- Списки запрещенных слов в сообщениях и никах.
## Требования
- Python 3
- Requests (python3 -m pip install requests)
Если вы на винде и у вас лапки, то питон [можно достать тут](https://www.python.org/downloads/), бота архивом [скачать здесь](https://inex.dev/lnkr/modbot.py/archive/master.zip), а в папке с ботом есть файл [start_modbot.bat](./start_modbot.bat), по даблклику на который установятся остальные зависимости и запустится бот.
## Настройка
Отредактируйте [settings.py](./settings.py) (как текстовый файл).
- **instance** - сюда вписать домен инстанса Peerture. Без https и слэшей.
- **username** и **password** - имя пользователя и пароль от аккаунта на данном инстансе, который послужит ботом.
- **room** - здесь UUID комнаты чата [(Где взять UUID комнаты чата???)](./where_to_get_room_uuid.png).
Вы можете использовать аккаунт, владеющий правами модератора в выбранной комнате. Это значит, что если вы рядовой юзер, вы можете использовать свой аккаунт в качестве бота в комнате собственного стрима, а если вы модератор инстанса 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