Nuestro sistema genera cuentas para publicar anuncios, nos preguntábamos si había alguna forma de agregar un aviso de personal separado que tuviera su propio icono que se agregara automáticamente a estas publicaciones para que podamos explicar que es una cuenta generada automáticamente. Incluso por ID/nombre de usuario o grupo funciona.
Creo que puedes lograr esto con componentes de tema. Por ejemplo, este código hace lo que necesitas:
<script type="text/discourse-plugin" version="0.8">
const { iconHTML } = require("discourse-common/lib/icon-library");
const bot_id = 128856; // o algún otro
api.decorateWidget("post:before", (helper) => {
if (helper?.getModel()?.user_id !== bot_id) {return;}
return helper.h("div.post-notice",[
helper.rawHtml(iconHTML("shield-alt")), // nombre del icono
helper.h("p", "este es un bot"), // texto
]);
});
</script>
Hola.
He intentado usar JS para añadir automáticamente un aviso para el personal a una cuenta generada automáticamente si es miembro del grupo “autogenerated”, pero no estoy seguro de dónde me estoy equivocando.
window.onload = function() {
const { groupMembers } = await discourse.groups.getMembers({
group_name: 'autogenerated'
});
if (groupMembers.includes(helper.getModel().user_id)) {
return helper.h('div.post-notices', [
helper.rawHtml(iconHTML('shield-alt')),
helper.h('p', 'Esta cuenta se genera automáticamente y debe considerarse un bot. El personal no supervisa la cuenta.')
]);
}
}
He puesto el código en la parte “Head” de nuestro componente, sin embargo, no se está ejecutando. No estoy seguro de si no está llamando a la función correctamente, o si mi sentencia IF no se está cumpliendo.
Hola @jhealey
He insertado tu publicación en el tema existente ya que parecen preguntas muy similares. ![]()
Quizás deberías cerrar el otro tema entonces. Probablemente debería haber respondido a este tema en su lugar… ![]()
Confié demasiado en las herramientas automáticas y no revisé.
He eliminado el otro tema. ![]()
¡Gracias! ![]()
Si estás usando await, tu función debe ser async.
¡No sé cómo no me di cuenta! ¡Gracias! Ya funciona ![]()
¡Está bien! De vez en cuando, todos cometemos descuidos como ese.
¡De nada! ![]()
todos estos hacks están bien y todo, pero esto debería ser una característica incorporada de una forma u otra.