еще одна идея
изображение 1
изображение 2
случай 1:
- Для любого пользователя сообщества предусмотрена кнопка «Пожаловаться», что делает систему более автономной.
- При нажатии на кнопку «Пожаловаться на пользователя» появляется модальное окно, где можно выбрать причину жалобы.
- После этого пользователю, на которого поступила жалоба, отправляется сообщение.
- Жалоба становится видна модератору или администратору.
- Если пользователь не отвечает на это сообщение с жалобой — пытаясь, в свою очередь, заявить, что «это ложь» или «это не имеет оснований», как это происходит на YouTube, процесс завершается.
- Срабатывает событие: Блокировка уровней доверия.
- Если это происходит снова, срабатывает событие: Пользователь заглушен.
- Если это происходит снова, срабатывает событие: Пользователь приостановлен.
примечания
- Администратор или модератор проверит процедуру подачи жалобы пользователем на другого пользователя.
- Если процедура подачи жалобы пользователем, подавшим заявку, имеет смысл (модератор или администратор) пересылает это сообщение пользователю.
- Если у пользователя есть обоснование, объясняющее, что жалоба ложна, процесс закрывается.
- Администратор или модератор может проверить ответ пользователя, на которого поступила жалоба, и решить, архивировать ли дело или нет.
случай 2
Примечание: Пользователь считает, что его аккаунт был взломан, поэтому он подает жалобу на собственный аккаунт.
финальные примечания
Все описанные выше плагины предназначены для автоматизации процесса, который я описываю сейчас с помощью изображений.
Как происходит процесс подачи сигналов автоматически?
- От пользователей сообщества к другим пользователям сообщества, то есть когда один или несколько пользователей сообщают об одном или нескольких пользователях — это происходит, когда один или несколько пользователей нажимают на кнопку: «Пожаловаться на этого пользователя сообществу» для одного или нескольких пользователей.
- Когда только пользователи типа: модераторы, администраторы или лидеры сообщества призываются одним или несколькими пользователями сообщить о сообщении — это известно как флаг сообщения.
- Самим пользователем, когда он чувствует, что его взломали, то есть когда пользователь сам сообщает о себе, уведомляя систему о том, что аккаунт был взломан — это происходит, когда один или несколько пользователей нажимают на кнопку: «Пожаловаться на этого пользователя сообществу», и, то есть, саморегулирование.
- Администраторы, модераторы или лидеры сообщества называют эти случаи:
- флаг сообщения
- пользователь, на которого пожаловались пользователи сообщества
- пользователь пожаловался на свой собственный аккаунт, так как считает, что он был взломан
- Во всех этих сценариях требуются описанные мной плагины для автоматизации этого процесса.
- Автоматические опции для модераторов, администраторов или лидеров сообщества по управлению пользователями следующие:
- Блокировка уровней доверия
- Пользователь заглушен
- Пользователь приостановлен
Примечание: Это можно сделать только при наличии списка пользователей, на которых поступили жалобы.
Примечания
- Генерируется список пользователей, на которых поступили жалобы.
- С помощью этого списка мы можем сделать следующее. Пользователи, которые не просили ответа — это делается в первую очередь:
- Блокировка уровней доверия
- Пользователь заглушен
- Пользователь приостановлен
- Пользователи, которые запросили ответ:
- К ним обращаются администраторы, модераторы и лидеры сообщества.
- Если ответ пользователя, на которого поступила жалоба, принят или признан обоснованным, всё архивируется.
- Если ответ не принят, у пользователя есть последний шанс ответить, и если он этого не сделает, процесс завершается.
- Мы можем видеть этот список наиболее распространенных и редких случаев уведомлений внутри Discourse, включая год, месяц, неделю и период их возникновения (год к году, месяц к месяцу, неделя к неделе) — это была бы моя первоначальная идея.
- На мой взгляд, лучший или самый простой способ сделать это — не нарушая моделирование системы Discourse, или даже практичный способ — использовать временную базу данных для получения жалоб от пользователей. Для этого можно использовать базу данных типа MongoDB.
- Я думаю об использовании MongoDB для получения информации от пользователей, на которых поступили жалобы.
- MongoDB хорошо работает — это документоориентированная база данных. Это интересно, если у вас большой объем данных и эти данные не структурированы — известный NoSQL.
- Кроме того, база данных не постоянная, она временная. MongoDB поддерживает временные типы данных.
- Я пришел к этой идее, прочитав это: Configure Discourse to use a separate PostgreSQL server — я подумал, что у меня будет отдельная база данных MongoDB для этого.
- Согласно этой странице: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHub, Discourse использует Redis и PostgreSQL. Вы когда-нибудь думали об использовании MongoDB для этого случая, который я описал?
резюме идеи
«пользователи, на которых поступили жалобы — mongodb»
reports: {
report1:{
user: "user001",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "user002"
},
report2:{
user: "user001",
reportedUser: "user003",
report: "spam"
},
report3:{
user: "user001",
reportedUser: "user003",
reason: "abusive messages or behavior"
},
report4:{
user: "user001",
reportedUser: "user003",
reason: "user discloses illegal user data"
},
report5:{
user: "user001",
reportedUser: "user002",
reason: "user posts dubious links, links that contain viruses, malware"
},
report6:{
user: "user001",
user_report: "user002",
reason: "specify another reason"
},
report7:{
user: "user001",
reportedUser: "user005",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community"
}
примечания
используйте sha256 для анонимизации данных того, кто отправляет жалобу, и того, на кого она подана
reports: {
report1:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
status1: "filed process"
status2: "Locking Trust Levels"
},
report2:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "spam",
status1: "filed process"
status2: "Locking Trust Levels"
},
report3:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "abusive messages or behavior",
status1: "filed process"
status2: "Locking Trust Levels"
},
report4:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user discloses illegal user data",
status1: "filed process"
status2: "Locking Trust Levels"
},
report5:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user posts dubious links, links that contain viruses, malware",
status1: "filed process"
status2: "Locking Trust Levels"
},
report6:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "specify another reason",
status1: "filed process"
status2: "Locking Trust Levels"
},
report7:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
status1: "filed process"
status2: "Locking Trust Levels"
},
report8:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
reply: {
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "View logs in account - if you confirm this process, we will lock the trust level",
replyFrom: "administrator",
status1: "filed process"
status2: "Locking Trust Levels"
}
}
Некоторые проблемы в этой идее, решение
- Это может быть неверное решение, мне нужна обратная связь от сообщества Discourse, чтобы узнать, действительна ли идея или нет.
- Реализация этого может быть сложной