В сообществе роли являются структурными строительными блоками, используемыми для различения позиций членов. На самом деле, большинство сообществ не будут функционировать без ролей — даже самые спокойные сообщества, когда дело доходит до модерации, такие как 4chan, сохраняют полномочия персонала для избранных, чтобы поддерживать работу платформы.

Когда дело доходит до небольших или нишевых сообществ, роли могут иметь важное значение для самой их цели. В SpookVooper, моем личном сообществе, во времена Discord роли позволяли нам разделять каналы по интересам и статусу. Было бы чрезвычайно сложно организовать фиктивный Сенат в месте, где любой мог бы говорить.

Проблема, с которой я сталкиваюсь сегодня в большинстве ролевых систем, заключается в отсутствии детализации в наиболее распространенных случаях их использования: Модерация. Хотя роли могут явно запрещать доступ к частям сообществ на других платформах, ближе всего к реальному контролю можно получить идею медленного режима. Хотя это полезно, многие сообщества могли бы получить больше пользы.

Такие идеи, как максимальная длина сообщения или тайм-ауты упоминаний, были бы неоценимы для сообществ. Только последняя идея могла бы спасти многие сообщества от кошмара, когда спамеры осыпают участников фальшивыми уведомлениями. Хотя эти идеи кажутся тривиальными, почти шокирует тот факт, что такие маленькие и мощные функции просто не существуют в текущих решениях.

Насколько легко реализовать такую ​​функцию?

public uint Ping_Timeout { get; set; } // Throw this in role class

Конечно, нам пришлось бы предпринять несколько шагов, чтобы убедиться, что этот тайм-аут пинга не нарушен. Серверы должны будут отслеживать последний пинг, отправленный пользователем в виде метки времени, а затем выполнять чрезвычайно сложную операцию.

if (DateTime.Now.Subtract(message.Time).ToSeconds() < member.GetMainRole().Ping_Timeout)
    // Do something to cancel
}

А вот то, что раньше было сарказмом. Написание этого псевдокода заняло несколько минут — так почему же на обычных платформах отсутствуют такие простые функции, которые избавили бы владельцев и персонал от рейдов и головной боли?

Я бы сказал, что это простой ответ: разъединение между руководством и владельцами сообщества.

При разработке Valour вопрос о функциях был взят с позиции владельца сообщества: что мне нужно, и как другие платформы меня подвели? Что больше всего раздражало в управлении сообществом? На эти вопросы мне легко ответить.

В тот раз я проснулся в 3 часа ночи от сотен сообщений о том, что мошеннический спамер постоянно пингует сотни пользователей? Это занимает место.

Приходится вручную отслеживать баны и использовать ботов для выполнения такой простой задачи, как временная блокировка? Это занимает место.

Не то чтобы эти проблемы не были в центре внимания. Сабреддиты платформы постоянно просят о таких простых функциях и кричат ​​в небо о своем личном опыте. Печальная правда заключается в том, что у компании с миллиардным оборотом просто слишком много бюрократических проволочек при разработке и слишком мало заботы о небольших сообществах.

Настоящая проблема, которую вызывают эти упущения, — это реальное бремя там, где вы меньше всего этого ожидаете — доверие и безопасность. Если бы базовые функции ролей предотвращали большую часть рейдерской активности, количество отчетов резко сократилось бы и позволяло проводить больше ручных проверок и помощи при реальных проблемах на платформах. Эти компании должны учитывать это, но, похоже, гораздо проще отойти на второй план и сказать это достаточно хорошо.

Впрочем, хватит. В настоящее время Valor может находиться в пред-предварительном (да, это двух «пре») альфа-состоянии, но мы смотрим с нуля на то, какие инструменты необходимы для наиболее комфортного взаимодействия с сообществом. И не только это, но и проектирование систем таким образом, чтобы они были легко расширяемыми.

В конце концов, для большинства платформ несколько дополнительных битов и строк кода не стоят того, чтобы уменьшить ваш стресс и инциденты в вашем сообществе.

И пришло время это изменить.