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