Update README.md
This commit is contained in:
22
README.md
22
README.md
@@ -11,14 +11,20 @@
|
||||
работает по классическим механикам (шифрованный канал связи, без возможности коммуникации в незашифрованном виде),
|
||||
без поддержки механизма start tls. Что-то в гошке или на стороне сервера при выборе StartTLS не работает.
|
||||
|
||||
Имеет возможность заносить пользователей в бан-лист, согласно заданным в чёрном списке правилам.
|
||||
Имеет возможность заносить пользователей в бан-лист, согласно заданным в чёрном списке правилам: по совпадению с
|
||||
регулярными выражениями в nick-е или jid-е злодея. Правила можно настроимть как глобально, для всех комнат, где
|
||||
присутсвует бот, так и для каждой комнаты отдельно. При изменении списка правил бота надо перезапускать.
|
||||
|
||||
## Что он не может?
|
||||
|
||||
* Не может заходить в комнаты, защищённые паролем.
|
||||
* Не умеет разгадывать капчу.
|
||||
|
||||
Предполагается, что если на комнату навешен пароль, то такой бот там не нужен, а капча защищает от злодеев на 100%,
|
||||
иначе её навешивать бесполезно.
|
||||
|
||||
## Как заставить его работать?
|
||||
|
||||
Технически, бот собирается гошкой 1.20 под платформу linux. Работоспособность на других платформах не тестировалась.
|
||||
|
||||
Чтобы получить готовые бинарники, достаточно выполнить команду:
|
||||
@@ -27,16 +33,20 @@
|
||||
make
|
||||
```
|
||||
|
||||
в итоге получится бинарник **buny-jabber-bot**, которому нужен конфиг data/config.json для работы.
|
||||
в итоге получится бинарник **buny-jabber-bot**, которому нужен конфиг data/config.json, whitelist.json и blacklist.json
|
||||
для работы.
|
||||
|
||||
А также понадобятся **data/blacklist.json** и **data/whitelist.json**, в которых находятся списки правил, злодеев и
|
||||
списки проверенных пользователей.
|
||||
В файлах **data/blacklist.json** и **data/whitelist.json** находятся списки злодеев и списки проверенных пользователей.
|
||||
|
||||
### Замечание
|
||||
|
||||
Очевидным образом в комнате банить может только админ. Поэтому боту придётся выдать админские права. А комнату сделать
|
||||
не анонимной (то есть, чтобы как минимум админы могли видеть реальный jid, потому что в бан отправляется именно он).
|
||||
|
||||
Почему нельзя оставить комнату анонимной? А тут всё просто, в банлист заносится реальный jid пользователя, а не его ник.
|
||||
Соответственно, бот должен видеть этот самый реальный jid. В анонимной комнате бот не сможет увидеть реальный jid.
|
||||
А автокик - это конечно хорошо, но есть нюанс: можно, например, гадить ником.
|
||||
|
||||
## Как работает бан?
|
||||
|
||||
Никакой магии, всё по стандарту, согласно [xep-0045](https://xmpp.org/extensions/xep-0045.html#ban).
|
||||
@@ -53,7 +63,7 @@ make
|
||||
affiliation сменится на none, бот заметит presence и, если jid подпадает под правила чёрного списка, то отправит этот
|
||||
jid в бан.
|
||||
|
||||
Но, простите, ведь "по правилам", при заходе клиента в комнату ему присылается presence всех участников, чтобы он мог
|
||||
Но, простите, ведь "по правилам", при заходе клиента в комнату боту присылается presence всех участников, чтобы он мог
|
||||
построить локальный ростер комнаты и начать отслеживать изменения состояния участников конференции. Почему бы в этот
|
||||
момент не банить злодеев?
|
||||
|
||||
@@ -66,7 +76,7 @@ presence-ов тех, кто находится в комнате на моме
|
||||
|
||||
## Как работает белый список?
|
||||
|
||||
Белый список - это список jid-ов, которых банить нельзя ни при каких обстоятельствах. В нём всегда неявно присутсвует
|
||||
Белый список - это список jid-ов, которых банить нельзя ни при каких обстоятельствах. В нём всегда неявно присутствует
|
||||
сам бот.
|
||||
|
||||
### Можно ли почистить ban-list?
|
||||
|
||||
Reference in New Issue
Block a user