Добавление системы наказаний (addition for role system)
Здравствуйте!
Я столкнулся с необходимостью в детальной проработке системы ролей на моём сервере, и у меня возникли сложности с реализацией "наказания плохих пользователей". Я думал что смогу настроить для этого отдельную роль, в которой смогу ограничить возможность пользования чатом, или голосовыми комнатами. Но увы, это не возможно сделать. Так как если у ниже стоящей роли есть разрешение на написания сообщений в чат, то эту возможность уже ничем не перекрыть. Ни ролью ниже, ни ролью выше (даже если у обеих них будет запрет на написание сообщений).
Я бы хотел иметь возможность наказывать плохих пользователей в несколько этапов:
-
1й — "За неадекватное поведение" отключить возможность оценки сообщений, отключить возможность упоминания роли в чатах, запретить отправку файлов в чат, запретить отправку ссылок в чат, и запретить доступ к отдельно взятым чатам.
- 2й — "За агрессивное/токсичное поведение" запретить пользователю вообще как либо общаться в чате. Будь то оценка сообщений, или написание сообщения. И возможность мюта этого пользователя либо для всех голосовых комнат, либо для отдельно взятых. А так-же, возможность ограничить доступ такому пользователю к отдельно взятым чатам, голосовым комнатам и к категориям.
Как я представляю возможную реализацию всего выше перечисленного:
-
1й способ — В данным момент настройка ролей работает только в сторону предоставления возможностей для отдельно взятой роли.
Например: Есть чат, и есть две роли на сервере
Роль1 — позволяет читать чат
Роль2 — позволяет писать в чат
Если выдать эти две роли пользователю, он сможет и читать чат, и писать в него.
Но если Роль1 будет позволять читать чат, но будет запрещать писать,
а Роль2 будет позволять писать, но запрещать читать чат — пользователь всё равно сможет и писать, и читать чат.
В таком случаи, я бы предложил следующее:
Так как все роли имеют иерархию снизу вверх в настройках сервера.
Сделать накопительный эффект, если пользователю с ролью everyone разрешено в полной мере пользоваться чатом, но выше него существует роль, которая ограничивает доступ скажем к отправке файлов в чат. То как только он получит эту роль, запрет более старшей (выше стоящей в списке) роли, перекроет разрешение ниже стоящей. И таким образом, я смогу ограничить доступ к отдельно взятой комнате/чату/категории.
-
2й способ — Создать отдельную функцию/настройку на сервере, в которой позволить владельцам серверов добавлять нужное им количество "наказаний" для плохих пользователей. Скажем в моем случаи, достаточно 2, а кому-то нужно будет только 1. А кому-то мало будет и 5.
И по аналогии с настройкой прав и возможностей роли, выполнить выдачу запретов/наказаний к уже существующим ролям, или обобщит запреты/наказания независимо от имеющихся ролей у пользователя.
Так, можно будет запретить подключение пользователя к голосовой комнате, запретить ему отправку ссылок в чат, и пометить его как наказанного пользователя, чтоб ему было стыдно :)
Если реализовать эту функцию при настройке отдельных чатов/комнат/категорий — это позволит очень тонко настроить социальную составляющую сервера.
И как бонус, было бы просто здорово если бы в Discord появилась возможность назначит, какая выше стоящая роль, какие роли может выдавать ниже себя другим пользователям.
Пример: чтоб модераторы сервера могли только выдавать роль условно "Vip" но не могли снимать или выдавать другие роли, которые стоят ниже роли модератор. Или скажем роль администратор. Она должна стоять в самом верху списка ролей, потому что, если поставить её ниже того-же "Vip", то вип сможет всех на сервере сделать администраторами, если у него есть возможность выдачи ролей пользователям. А стоящий в верху списка администратор, может выдать кому угодно, какую угодно роль.
Одним словом, хотелось бы увидеть возможность отдельно взятой роли, выдачу отдельно указанных для этого ролей
Please sign in to leave a comment.
Comments
0 comments