Cada vez que un usuario se registra con un enlace de invitación, me gustaría que esa cuenta solo dure x meses y, una vez que se alcance la fecha límite, el usuario debe renovar su cuenta, ¿es posible hacerlo?
Básicamente, es una membresía con fecha de vencimiento y renovación. Si esta función no existe en Discourse, ¿es posible programarla a través de un plugin o algo similar sin tocar el núcleo? ¿o no hay soporte en la API y los webhooks para algo como esto?
Los agregarías a un grupo cuando se unieran. Luego tendrías un plugin que los eliminaría del grupo una vez que expirara el límite de tiempo. Simplemente no está claro cómo harías el seguimiento del mes. Probablemente un campo personalizado de usuario con la fecha de finalización sería lo más simple.
“Luego tendrías un plugin que los eliminara del grupo una vez que se acabara el plazo.” ¿Qué plugin?
“Probablemente un campo personalizado de usuario con la fecha de finalización sería lo más sencillo.” ¿Añado esa información durante el registro? Entonces debería usar un webhook en ese momento, ¿correcto?
No existe tal plugin. Alguien tendría que escribirlo.
No. El plugin haría eso. Y es probable que haya una forma de discernir cuándo se agregaron a través de la base de datos y el explorador de datos, aunque no estoy muy seguro.
Si no está autoalojado, o por otra razón no desea un plugin,
También podría ser posible hackear algo usando el plugin del explorador de datos (para obtener datos sobre cuándo se agregaron y, por lo tanto, cuándo deben eliminarse) y usar una herramienta de automatización/API (como zapier, aunque también he usado github actions) para eliminarlos del grupo cuando llegue el momento.
¡Este sería un buen candidato para un script de automatización! Aún no existe, por lo que podrías contribuir con él o contratar a alguien para que lo haga por ti y lo contribuya, en Marketplace.
Puedo hacerlo, pero con una función adicional: debería permitir agregar campos de clave-valor.
La idea es que pueda asociar información con un enlace de invitación con la información que deseo. Los valores pueden ser una cadena simple o un JSON, y cada clave es una columna en la base de datos. Luego, cuando el usuario termina de registrarse, se agrega un par clave-valor adicional, que es su nombre de usuario.
Mi pregunta es, ¿pasará tus filtros y se agregará al código fuente nativo de Discourse? Y esto me lleva a una pregunta adicional, ¿los enlaces de invitación son siempre únicos?
He trasladado este tema a Dev porque estamos saliendo del territorio de soporte. Necesitas empezar a crear el plugin o la automatización que haga lo que quieres. ¡Cuéntanos cómo te va! Si las funcionalidades que añades son más útiles en general, podrían considerarse para incluirlas eventualmente en el núcleo de Discourse.
También puedes iniciar más temas en Dev para hacer más preguntas, pero te recomiendo que compartas código cuando lo hagas. Es más fácil que otros te ayuden si pueden ver lo que has hecho hasta ahora.
Sí, los enlaces de invitación son siempre únicos.
No sé a qué te refieres con “pasará tus filtros y se añadirá al código fuente nativo de Discourse”.
Estos son el tipo de preguntas que creo que podrás responder por ti mismo a medida que profundices en el código.