I’d like to automatically apply certain badges to users in certain groups. In searching the forum, it appears this may be possible via SQL queries, etc. We are on the hosted plan, so that is not possible. In talking with Discourse support, it appears a solution might be to make an app/script that uses the API to apply the badge to users in a groups. Two questions with this:
Has someone done this already and would be willing to share?
How would I implement an app/script that uses the API within the hosted forum setup?
@sam Gotcha. What do you think is the better option though? Is it dangerous to begin making SQL queries from within the hosted platform? Makes me a bit nervous because there are other admins in our account and I worry if they accidentally do something in the currently hidden SQL area, it could seriously mess up our database.
@scombs, I had posted in another thread, and someone responded almost at the same time. The code is slightly different. Do you know what the difference would be?
main difference is: gu. vs g.
Other poster’s code:
SELECT gu.user_id, gu.created_at AS granted_at, null AS post_id
FROM group_users AS gu
WHERE gu.group_id = ( SELECT id FROM groups WHERE name ilike 'InsertTheTeamNameHere' )
is there any practical difference?
I’m a complete novice at this, and I just want to give the site owner the code to copy/paste so he doesn’t have to modify it at all.
btw, the group name we are using is: Confirmed_ST_User
Espero que esté bien revivir este tema para preguntar: ¿Existe alguna probabilidad de extender los grupos para incluir la opción de otorgar automáticamente una insignia, sin SQL?
Solo quiero añadir una nota para indicar que ya no podemos habilitar SQL de insignias personalizadas para sitios que están en nuestros planes de alojamiento Standard o Business. Aún puedes crear insignias personalizadas, pero deberás otorgarlas manualmente o a través de la API de Discourse. Puedes encontrar más detalles sobre cómo otorgar una insignia mediante la API aquí: Grant a custom badge through the API.