Scripting de associação de grupo

Sou o administrador do fórum de uma organização com vários níveis de associação, que correspondem à associação a grupos personalizados no fórum. Atualmente, isso requer um processo manual para cada novo membro, onde recebo o endereço de e-mail do novo membro, verifico se ele está associado a uma conta de usuário e, em seguida, adiciono-o ao grupo personalizado.

O que eu gostaria é de um script que recebesse uma lista de endereços de e-mail e, se houvesse um usuário com esse endereço, adicioná-lo a um grupo e, se não, enviar um convite com a permissão do grupo já adicionada. Como eu escreveria um script assim?

Obrigado!

EDIT:

Exemplo abaixo:
Tenho estes três endereços de e-mail:
alice@example.com - Pertence a um membro do fórum que não é membro do grupo SomeGroup
bob@foo.org - Pertence a um membro do fórum que é membro do SomeGroup
carol@bar.edu - Não pertence a um membro do fórum.

Gostaria de adicionar o usuário associado a alice@example.com ao SomeGroup (e enviar uma mensagem de boas-vindas), não fazer nada para o usuário bob@foo.org e enviar um convite para o fórum com a bandeira de inscrição do grupo para carol@bar.edu.

1 curtida

Você pode configurar o grupo para que, se um usuário se inscrever com um determinado domínio de e-mail (o @example.com), ele seja adicionado automaticamente a um grupo.

Vá para a aba de gerenciamento do grupo, associação e, em seguida, a primeira seção Automático adicione o domínio.

Obrigado, mas isso não ajuda muito aqui. Nossos membros usam seus e-mails pessoais para isso, então eles não têm o mesmo domínio.

1 curtida

Você pode configurar um link de convite e enviá-lo aos clientes, mas acredito que isso só funcionará se eles ainda não tiverem se cadastrado.

Vá para a aba Membros, depois clique em convidar, configure o convite e clique em Salvar convite.

Se você enviar um link de convite, ele também funcionará para membros existentes. :+1: Você pode até direcioná-los para um tópico específico ao qual eles chegarão, então pode ser bom para inscrição em grupo ou eventos.

Existe também o recurso de convite em massa se você já tiver uma lista de endereços?

2 curtidas

Não sabia. Vou olhar a wiki e ela só dizia na criação da conta. Você pode consertar já que não é uma wiki? (Invite users to a group)

1 curtida

Deixe-me dar um exemplo, pois minha pergunta pode não ter ficado clara.

Tenho estes três endereços de e-mail:
alice@example.com - Pertence a um membro do fórum que não é membro do grupo SomeGroup
bob@foo.org - Pertence a um membro do fórum que é membro do SomeGroup
carol@bar.edu - Não pertence a um membro do fórum.

Gostaria que o script adicionasse o usuário associado a alice@example.com ao SomeGroup (e possivelmente enviasse uma mensagem de boas-vindas), não fizesse nada para o usuário bob@foo.org e enviasse um convite com a flag de inscrição no grupo para carol@bar.edu.

Ah, ok, eu não sabia disso! Ele enviará um aviso aos membros já existentes de que foram adicionados ao grupo?

Em vez de usar uma lista de endereços de e-mail, provavelmente faria mais sentido usar a API para isso. Portanto, quando o usuário se inscrever, você deverá inscrevê-lo automaticamente no grupo usando esta API: Discourse API Docs

Isso exige que você também já tenha o usuário criado no Discourse no momento em que usar a API. Isso pode exigir um pouco mais de configuração, mas pode automatizar completamente o fluxo para você, para que você não precise fazer uploads manuais de endereços de e-mail de usuários.

2 curtidas

O problema é que, na verdade, tenho uma lista de endereços de e-mail, não nomes de usuário. Minha organização acompanha os níveis de associação das pessoas por nome e e-mail, não por nome de usuário do fórum, porque o fórum é uma pequena parte da organização. O coordenador de associação me envia uma lista de nomes e e-mails toda semana para novos membros. Eles podem ou não ter uma conta no fórum quando isso acontece, já que temos uma seção pública no fórum.

Na verdade, não parece que isso funcione. Quando tento enviar um link de convite, recebo “Não há necessidade de convidar example@gmail.com, eles já têm uma conta!”

Pode ser que eu tenha me confundido. :slight_smile: Vou explorar e ver se há uma maneira de conseguir o que você quer usando os recursos existentes do fórum. :+1:

Editar:

Acho que isso é possível usando a opção Convite em Massa. Se você tiver um arquivo csv de endereços de e-mail, com uma segunda coluna para os grupos aos quais deseja adicioná-los, e executar isso através da ferramenta Convite em Massa, isso enviará um convite por e-mail para quem não tiver uma conta e adicionará membros existentes aos grupos que você inseriu na segunda coluna. Embora a parte que falta seria que isso não gera uma notificação para dizer que você foi adicionado ao grupo.

2 curtidas

O Convite em Massa deve funcionar por enquanto, obrigado! Gostaria de fazer uma solicitação de recurso para adicionar uma mensagem aos membros existentes quando eles recebem novas permissões.

1 curtida

Entendi minha confusão. São os links que fazem o que eu pensava, não os e-mails. :slight_smile: Então, a outra maneira seria criar um link de convite (em vez de um e-mail) e, em seguida, enviá-lo por e-mail para todas as pessoas em sua lista de e-mail. Novos membros seriam levados para a página ‘criar conta e aceitar convite’ antes de serem adicionados ao grupo e enviados ao tópico (se você adicionou esse critério), usuários existentes que já estavam logados seriam adicionados ao grupo e enviados diretamente para o tópico que você apontou, e usuários existentes que não estavam logados podem fazer login a partir da página ‘criar conta e aceitar convite’ (embora seja um pouco ambíguo se você pode fazer isso, mas você poderia adicionar um texto extra à página em js.create_account.subheader_title para dar uma pequena dica), e então seriam adicionados ao grupo e enviados ao tópico:

No entanto, essa maneira também não envia uma notificação dizendo que foram adicionados ao grupo, mas você tem a oportunidade de incluir uma explicação no e-mail de convite inicial, o que pode ser útil? E a ‘chegada ao tópico’ também poderia ser aproveitada de forma semelhante a uma página de destino.

Não tenho certeza se isso é útil, mas fico feliz por ter descoberto. :slight_smile:

1 curtida