Scripting de membresía de grupo

Soy el administrador del foro de una organización con varios niveles de membresía, que corresponden a membresías de grupo personalizadas en el foro. Actualmente, esto requiere un proceso manual para cada nuevo miembro, donde obtengo la dirección de correo electrónico del nuevo miembro, verifico si está asociada con una cuenta de usuario y luego la agrego al grupo personalizado.

Lo que me gustaría es un script que tome una lista de direcciones de correo electrónico y, si hay un usuario con esa dirección, lo agregue a un grupo y, si no, envíe una invitación con los permisos del grupo ya agregados. ¿Cómo escribiría un script así?

¡Gracias!

EDITAR:

Ejemplo de abajo:
Tengo estas tres direcciones de correo electrónico:
alice@example.com - Pertenece a un miembro del foro que no es miembro del grupo SomeGroup
bob@foo.org - Pertenece a un miembro del foro que es miembro de SomeGroup
carol@bar.edu - No pertenece a un miembro del foro.

Me gustaría agregar el usuario asociado con alice@example.com a SomeGroup (y enviar un mensaje de bienvenida), no hacer nada para el usuario bob@foo.org, y enviar una invitación al foro con la bandera de inscripción al grupo a carol@bar.edu.

1 me gusta

Puedes configurar el grupo para que si un usuario se registra con un dominio de correo electrónico determinado (el @example.com) se le añada automáticamente a un grupo.

Ve a la pestaña de administración del grupo, membresía y luego a la primera sección Automático y añade el dominio.

Gracias, pero eso no ayuda mucho aquí. Nuestros miembros usan todos su correo electrónico personal para esto, por lo que no tienen el mismo dominio.

1 me gusta

Puedes configurar un enlace de invitación y enviárselo a los clientes, pero creo que esto solo funcionará si aún no se han registrado.

Ve a la pestaña Miembros y luego presiona invitar, configura la invitación y presiona Guardar invitación.

Si envías un enlace de invitación, también funcionará para los miembros existentes. :+1: Incluso puedes dirigirlos a un tema en particular al que aterrizar cuando lleguen, por lo que puede ser bueno para la inscripción grupal o para eventos.

¿También existe la función de invitación masiva si ya tienes una lista de direcciones?

2 Me gusta

No lo sabía. Miraré en la wiki y solo decía al crear la cuenta. ¿Puedes arreglarlo ya que no es una wiki? (Invite users to a group)

1 me gusta

Permítame dar un ejemplo, porque mi pregunta no debió haber sido clara.

Tengo estas tres direcciones de correo electrónico:
alice@example.com - Pertenece a un miembro del foro que no es miembro del grupo SomeGroup
bob@foo.org - Pertenece a un miembro del foro que es miembro de SomeGroup
carol@bar.edu - No pertenece a un miembro del foro.

Me gustaría que el script agregara al usuario asociado con alice@example.com a SomeGroup (y posiblemente enviara un mensaje de bienvenida), no hiciera nada para el usuario bob@foo.org y enviara una invitación con la bandera de inscripción al grupo a carol@bar.edu.

Ah, ¡ok, no me di cuenta! ¿Se enviará un aviso a los miembros ya existentes de que han sido añadidos al grupo?

En lugar de usar una lista de direcciones de correo electrónico, probablemente tendría más sentido usar la API para esto. Por lo tanto, cuando el usuario se registre, deberías inscribirlo automáticamente en el grupo usando esta API: Discourse API Docs

Eso requiere que también tengas al usuario ya creado en Discourse en el momento en que uses la API. Esto podría requerir un poco más de configuración, pero podría automatizar completamente el flujo para que no estés haciendo cargas manuales de direcciones de correo electrónico de usuarios.

2 Me gusta

El caso es que, en realidad, tengo una lista de direcciones de correo electrónico, no nombres de usuario. Mi organización hace un seguimiento de los niveles de membresía de las personas por nombre y correo electrónico, no por nombre de usuario del foro, ya que el foro es una parte pequeña de la organización. El coordinador de membresía me envía una lista de nombres y correos electrónicos cada semana para los nuevos miembros. Es posible que ya tengan o no una cuenta en el foro cuando esto sucede, ya que tenemos una sección pública en el foro.

En realidad, no parece que eso funcione. Cuando intento enviar un enlace de invitación, obtengo: ¡No es necesario invitar a example@gmail.com, ya tienen una cuenta!

Puede que me haya confundido. :slight_smile: Voy a investigar y ver si hay una forma de lograr lo que quieres utilizando las funciones existentes del foro. :+1:

Editar:

Creo que esto es posible utilizando la opción de Invitación masiva. Si tienes un archivo CSV de direcciones de correo electrónico, con una segunda columna para los grupos a los que deseas añadirlos, al pasarlo por la herramienta de Invitación masiva se enviará un correo electrónico de invitación a cualquiera que no tenga una cuenta, y se añadirá a los miembros existentes a los grupos que introdujiste en la segunda columna. Sin embargo, la parte que falta sería que esto no genera una notificación para decir que has sido añadido al grupo.

2 Me gusta

La invitación masiva debería funcionar por ahora, ¡gracias! Me gustaría hacer una solicitud de función para agregar un mensaje a los miembros existentes cuando obtienen nuevos permisos.

1 me gusta

He resuelto mi confusión. Son los enlaces los que hacen lo que pensaba, no los correos electrónicos. :slight_smile: Así que la otra forma sería crear un enlace de invitación (en lugar de un correo electrónico) y luego enviarlo por correo electrónico a todas las personas de tu lista de correos. Los nuevos miembros serían llevados a la página de ‘crear cuenta y aceptar invitación’ antes de ser añadidos al grupo y enviados al tema (si añadiste ese criterio), los usuarios existentes que ya hubieran iniciado sesión serían añadidos al grupo y enviados directamente al tema al que los dirigiste, y los usuarios existentes que no hubieran iniciado sesión pueden iniciar sesión desde la página de ‘crear cuenta y aceptar invitación’ (aunque es un poco ambiguo si puedes hacer eso, pero podrías añadir un texto adicional a la página en js.create_account.subheader_title para dar una pequeña pista), y luego serían añadidos al grupo y enviados al tema:

Sin embargo, esta forma tampoco envía una notificación de que han sido añadidos al grupo, pero tienes la oportunidad de incluir una explicación en el correo electrónico de invitación inicial, lo que podría ser útil. Y el ‘llegar al tema’ también podría aprovecharse de manera similar como una página de destino.

No estoy seguro de si eso es útil, pero me alegro de haberlo descubierto. :slight_smile:

1 me gusta