Otorgar insignia en masa por correo electrónico

¿Cómo puedo otorgar insignias en masa basándome en una lista de correos electrónicos que tengo?

Si el perfil existe en el foro, otorga la insignia.
Si no existe, omite.

Extra (si es posible): si los perfiles inexistentes omitidos se registran en el futuro, también se les otorga la insignia.

¿Cuántas direcciones hay? Si no son muchas, siempre podrías crear una insignia SQL que se active automáticamente a diario y se la conceda a cualquiera que no la tenga y que debería tenerla.

Esto funciona mejor si hay un número reducido de direcciones involucradas o si todos los que deberían tener la insignia (y solo aquellos que deberían tenerla) están registrados con un dominio de correo electrónico común.

Por ejemplo, en los foros de fans de Monster High de mi amigo, tenemos una insignia que se otorga automáticamente a todos los usuarios con un correo electrónico verificado en el dominio principal.

La primera alternativa sería usar la API para encontrar cuentas con direcciones de correo electrónico coincidentes y conceder las insignias de esa manera.

Otra alternativa, que podría funcionar mejor en tu caso, es usar la opción de concesión masiva y utilizar una variante de la alternativa anterior. En lugar de conceder la insignia directamente, haz que el script busque las direcciones de correo electrónico y, si las encuentra, añade el nombre de usuario a una lista de usuarios que deberían tener la insignia. Luego, puedes utilizar la función de concesión masiva para concederla en bloque en una sola operación.

Por supuesto, ambas opciones requieren que compruebes regularmente las actualizaciones de los usuarios que se registran más tarde, pero si estás utilizando la API, incluso hay una alternativa allí.

Personalmente, no recomiendo esto porque, dependiendo de la actividad de tus registros, esto puede colapsar un servidor si no tienes cuidado, pero si tus nuevos registros tienden a ser bajos, podrías usar un webhook y conectar los eventos y, cuando se valide una dirección de correo electrónico que coincida con una de las de tu lista, hacer que la API conceda la insignia.

1 me gusta