Estoy de acuerdo con @thoka, si quieres asignar una insignia manualmente para otorgar acceso a un grupo, entonces una invitación puede ser igual de rápida.
Si necesitas/quieres una insignia asociada a cada grupo, entonces podrías crear nuevas consultas SQL de insignias para dar insignias a los usuarios dependiendo de los grupos a los que pertenecen: Creating triggered custom badge queries
Con esta combinación, podrás poner a los estudiantes en grupos y que tengan una insignia, todo esto sin tener que crear un plugin personalizado.
Como alternativa, como sugirió @Heliosurge, podrías usar el plugin oficial Automation para asignar usuarios a un grupo dependiendo del valor de un campo personalizado. Hay un script para esto:
No sé cómo funciona, pero creo que requeriría algo de código personalizado para que funcione.
