Нужна помощь с кодом из Core Ignore User

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

Я хочу создать модификацию, которая проверяет, является ли пост/комментарий ответом на сообщение от игнорируемого пользователя, и скрывает этот пост/комментарий, если он адресован игнорируемому пользователю.

Может, посмотрите на это? (изменение: вы уже это сделали)

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

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

Полагаю, оно находится здесь:

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

Функция игнорирования уже была протестирована и доказала свою эффективность на многих платформах. Например, Reddit, Facebook и другие используют двустороннюю блокировку. Предоставление конечным пользователям сайта возможности самостоятельно игнорировать контент от игнорируемых и их ответы (именно здесь чаще всего появляются цитаты) помогает снизить драму и нагрузку на команду модераторов.

Предложение Линки, на которое вы ссылаетесь, помогает закрыть один пробел: до его появления новые темы включали темы игнорируемых пользователей, а также результаты поиска. В идеальном мире никому не понадобился бы контроль игнорирования/блокировки, так как человек просто перестал бы читать что-либо от конкретного индивидуума. К сожалению, многим людям трудно это сделать.

Я также помню, что команде потребовалось немало времени, чтобы даже рассмотреть возможность добавления функции «заглушить/игнорировать пользователя».

Иногда люди настолько поляризованы своим собственным презрением к другому, что считают, будто мы, как модераторы, должны забанить этих людей, поскольку они, по их мнению, портят сайт для всех. Я потерял действительно ценного участника, который посчитал функцию игнорирования недостаточной, так как его беспокоил игнорируемый пользователь, который, по его мнению, манипулировал другими (газлайтил). Даже после того, как я объяснил, что сайт уведомляет модераторов и игнорируемого пользователя, а сообщество может признать его токсичным, если его проигнорировали 5 человек…

Я объяснил (или пытался), что этот человек не достиг этого порога. Если бы ответы этому игнорируемому пользователю были скрыты, он был бы удовлетворён и не испытывал бы беспокойства.

Вот почему, на мой взгляд, команде следует быть более открытой к этой идее: добавить простой переключатель в настройках сайта и, возможно, дополнительно предоставить пользователю выбор уровня игнорирования.

Если обсуждения в сообществе страдают, потому что почти все игнорируют друг друга, то у вас по сути нет сообщества.

Спасибо, Линка. Я изучу это и посмотрю, смогу ли разобраться. Единственное, с чем мне, возможно, понадобится помощь, — это переключение цели с автора поста/комментария на человека, которому адресован ответ.

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

Лучший вариант, который у меня был, работал примерно так: просто скрывал цитируемый контент, но всё ещё показывал, что есть цитата. Но, на мой взгляд, для большинства случаев достаточно просто скрыть прямые ответы.

Это может быть веской причиной с осторожностью относиться к подобной функции, чтобы избежать такого.

Жаль слышать о вашей потере.

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

В теории эта идея имеет смысл: она позволяет пользователям скрывать/игнорировать как другого участника, так и основные прямые ответы ему. Буквальный пример: у людей есть право принести свои собственные наушники на встречу сообщества, чтобы не слушать всех, и если в ответ на чьи-то слова начинается много споров, вероятно, стоит держать наушники надетыми, пока всё не уляжется.

Однако, если в комментариях или обсуждении содержится важная информация, которую игнорируют, это приведёт к дублированию в дискуссии и возможной путанице из-за упущенного.

6000 участников; на тот момент регулярно активными были около 300 человек. 5 — очень маленькое значение.

Другие платформы уже показывают, что это не влияет на обсуждения, и это те платформы, которые используют взаимную блокировку. Это означает, что если вы блокируете кого-то, вы не видите ни постов, ни ответов друг друга. См. Reddit.

Лично я считаю, что достаточно просто скрывать прямые ответы, а не использовать взаимную блокировку, так как при взаимной блокировке вы можете упустить важную информацию.

Если помните, здесь была тема о теневых банах? Текущая функция «Игнорировать» в Discourse работает скорее как персональный теневой бан, а не общесайтовый. Хотя общесайтовые теневые баны, возможно, не лучшая идея, персональный теневой бан в Discourse не плох — ему просто нужна большая гибкость, чтобы предоставить тем, кто нуждается, чуть больше контроля.

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

До того как команда здесь добавила эту частичную функцию, один из моих участников создал свой собственный скрипт Tampermonkey с функцией игнорирования пользователей. Он также стилизовал отображение операторов, определённых групп и добавил никнеймы для некоторых пользователей.

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

В сухом остатке: есть сообщества, которые действительно нуждаются в этом расширении. Компонент темы должен быть достаточным. Если вы хотите создать сообщество ключевых тем — сообщества психологической помощи и политические сообщества могут быть довольно поляризованными. Чрезмерно упрощённая функция игнорирования просто не поможет снизить уровень конфликтов. Некоторым может даже понадобиться то, что называют «Полной блокировкой» (True Complete Block). Однако я подозреваю, что моё предложение будет достаточно для большинства. TC (полная блокировка) достаточна, поскольку никто, кто будет использовать эту функцию, не попытается её обойти.

Если у вас есть аккаунт Reddit, работает ли это для всех страниц Reddit или существуют независимые сайты, как в случае с Discourse? Функция Discourse по блокировке email/IP, похоже, уже является более мощной возможностью, чем то, что есть у других платформ.

Это была интересная тема, если не ошибаюсь, она была закрыта.

Я не рассматривал это в таком ключе, но это можно воспринимать именно так: например, люди могут думать, что их посты видны и читаются другими участниками, хотя на самом деле это не так. Однако это становится очевидным из-за отсутствия ответов.

Это действительно зависит от того, есть ли что-то важное в том, что игнорируется.

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

Поляризация — это плохо, это серьёзная проблема некоторых политических систем, которые были намеренно созданы для поддержания постоянной поляризации просто ради самой поляризации.

Reddit — это система «карманных сообществ». Когда вы решаете заблокировать человека, это блокировка на уровне всего сайта.

Модераторы сообщества в Reddit не то же самое, что полноценные модераторы в экземпляре Discourse. Например, вы можете работать с флагами и пользовательскими флагами; однако флаги анонимны. Только команда Reddit видит, кто поставил флаг. Максимум, что может сделать модератор сообщества, — это сообщить о злоупотреблении флагами.

Бан по электронной почте или IP-адресу не находится под контролем модератора сообщества Reddit. Поскольку это платформа, где любой может создать и управлять под-сообществом, было бы безрассудно предоставлять кому-либо такой уровень доступа. Категория модератора в Discourse более близка к этому. Ричард недавно выпустил отличный плагин, который расширяет возможности модерации как для полноценных модераторов, так и для модераторов категорий, позволяя замолчать пользователя в рамках категории, а не на уровне всего сайта. Обратите внимание: модератор категории не получает возможности наложить молчание на весь сайт. В его дорожной карте планируется в будущем добавить ограничение по времени и полную блокировку категории.

Действительно, это лишь один из типов, и более полное решение необходимо.

Суть в том, что форумы, которые не хотят использовать необязательное дополнение, могут обойтись без него. Те, кто хочет, делают это с очень небольшим риском, который волнует команду. Некоторые также считают, что должна быть возможность запретить участнику отписаться от категории, поскольку сайт может требовать, чтобы пользователи подписались на определённую категорию, содержащую, например, важную информацию о сайте. :wink: И это, возможно, ещё одна правда.

Вы сами видели, как иногда другие участники сообщества негативно реагируют на конкретного человека просто из-за его стиля общения.

Это @RGJ Ричард?

Это, вероятно, хорошая функция.

Не уверен, на что именно вы ссылаетесь, но, безусловно, манера общения человека может вызывать более сильную реакцию, чем это кажется разумным.

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

Может помочь предложить человеку созвониться по телефону, чтобы прояснить ситуацию, вместо переписки.

Это был именно такой случай. Я говорю о том, что неверное восприятие или непонимание намерений вызвало у некоторых трудности в общении с конкретным человеком. Это часто становится источником нетерпимости.

В небольшом сообществе идея, которую вы предлагаете, может быть полезной: телефонный звонок действительно способен помочь. Однако в крупных разнородных сообществах с международным членством это может оказаться вредным из-за большого объёма входящих звонков.

Именно поэтому Джаг, с его точки зрения, использовал ту метафору. У него не было контекста вашей идеи относительно плана сообщества.

Не обязательно нужен большой объём звонков. Для модерации моды могут просто сказать, что необходимо поговорить по телефону с кем-то перед снятием молчания/блокировки аккаунта, если это необходимо.

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

Да, это была бы другая тема. Я не говорил об автоматических блокировках, а скорее о случаях действительно необычной активности аккаунта, которая может указывать на несанкционированный доступ или требовать верификации личности по другим причинам. Решение о том, пытаться ли связаться с кем-то по телефону или нет, остаётся на усмотрение модератора, поскольку это не всегда помогает.

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