¿Cómo cambiar los niveles de notificación para todos los usuarios en un tema?

¿Alguien sabe una forma segura de establecer los niveles de notificación para todos los usuarios en un tema a un solo valor? Supongo que sería algo en la consola de Rails.

Quiero establecer a todos los usuarios en un tema en “Silenciar” o “Normal” en lugar de “Seguir” o “Rastrear”.

El objetivo es reducir la actividad en un tema grande en una situación de moderación compleja.

1 me gusta

Menú de administrador
Configuración
Preferencias del usuario


Espera, lo siento, te refieres a solo 1 tema. Sí, imagina que necesitas rails.

1 me gusta

¿Qué tal habilitar el modo lento? ¿No ayudaría a reducir la actividad? :thinking:

Esta situación es compleja y no quiero una indicación visual que desencadene una discusión pública al respecto que pueda consumir horas de tiempo de moderación. (Ya estoy completamente abrumado). El resultado ideal es que la gente simplemente no recuerde que el tema existe.

1 me gusta

Deslistaría el tema. Así se oculta del foro, por lo que probablemente la mayoría de los usuarios ya no lo verán allí. Pero cuando tengan un enlace a ese tema (por ejemplo, porque recibieron una notificación), aún podrán abrirlo.

2 Me gusta

Sin embargo, solo para que lo sepas, si lo están viendo, aún recibirían notificaciones cuando no esté listado.

Creo que ahora puedes usar el endpoint /t/TOPIC_ID/notifications para establecer el nivel de notificación de un usuario en un tema específico, si esa es una opción más atractiva que la consola de Rails.

Detalles adicionales
  • El usuario de la API debe ser un administrador (por lo que debe tener alcance global) para poder cambiar el nivel de notificación de otro usuario.
  • URL del endpoint: siteurl/t/<topic_id>/notifications
  • Tipo de solicitud: POST
  • Parámetros:
    • username o external_id del usuario de destino. Si está vacío, se cambiará el nivel de notificación del propio administrador para el tema.
    • notification_level: valor entero correspondiente al nivel
      • muted: 0,
      • regular: 1,
      • normal: 1, # alias para regular
      • tracking: 2,
      • watching: 3,

Pero para la consola de Rails, creo que sería esto: (recuerda hacer una copia de seguridad por si acaso antes de intentar cambiar cosas en Rails :warning:)

TopicUser.where(topic_id: TOPIC_ID).update(notification_level: 1)

(1 es normal, 0 es silenciar)

Eso cambiaría los niveles del tema, pero puede haber niveles de categoría y etiqueta que aún puedan afectar a quién recibe una notificación de nueva actividad.

Y una pequeña consulta de explorador de datos para verificar los niveles de los usuarios en un tema si eso también es útil:

SELECT 
    topic_id,
    user_id,
    notification_level
FROM topic_users
WHERE topic_id = TOPIC_ID
3 Me gusta

Gracias por la detallada respuesta. Probaré la API mañana.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.