グループメンバーシップのスクリプティング

組織のフォーラムの管理者をしており、フォーラムのカスタムグループメンバーシップに対応するいくつかの会員レベルがあります。現在、これはすべての新規メンバーに対して手動のプロセスが必要であり、新規メンバーのメールアドレスを取得し、そのメールアドレスがユーザーアカウントに関連付けられているかを確認してから、カスタムグループに追加しています。

私が望んでいるのは、メールアドレスのリストを受け取り、そのアドレスを持つユーザーが存在する場合はグループに追加し、存在しない場合はグループ権限が既に追加された招待状を送信するスクリプトです。そのようなスクリプトをどのように書けばよいでしょうか?

よろしくお願いします!

編集:

以下からの例:
これらの3つのメールアドレスがあります:
alice@example.com - SomeGroup のグループメンバーではないフォーラムメンバーに属しています
bob@foo.org - SomeGroup のメンバーであるフォーラムメンバーに属しています
carol@bar.edu - フォーラムメンバーに属していません。

alice@example.com に関連付けられたユーザーを SomeGroup に追加し(ウェルカムメッセージを送信)、bob@foo.org のユーザーは何もしせず、carol@bar.edu にグループ登録フラグ付きのフォーラム招待状を送信したいと思います。

「いいね!」 1

ユーザーが特定のメールドメイン(@example.com)でサインアップした場合に、自動的にグループに追加されるようにグループを設定できます。

グループの「管理」タブ、「メンバーシップ」、そして最初のセクション「自動」にドメインを追加してください。

しかし、それはここではあまり役に立ちません。メンバーは全員個人のメールアドレスを使用しているため、ドメインが同じではありません。

「いいね!」 1

招待リンクを設定して顧客に送信できますが、これは顧客がまだサインアップしていない場合にのみ機能すると考えられます。

[Members]タブに移動し、[invite]をクリックして招待を設定し、[Save invite]をクリックします。

招待リンクを送信すると、既存のメンバーにも機能します。:+1: 特定のトピックに直接誘導することもできるため、グループ登録やイベントに適しています。

また、すでにアドレスのリストがある場合は、一括招待機能もありますか?

「いいね!」 2

知りませんでした。ウィキを確認したところ、アカウント作成時にのみ利用可能と記載されていました。これはウィキではないので修正してもらえますか? (Invite users to a group)

「いいね!」 1

例を挙げさせてください。質問が不明瞭だったのかもしれません。

以下の3つのメールアドレスがあります。
alice@example.com - SomeGroupのグループメンバーではないフォーラムメンバーに属します
bob@foo.org - SomeGroupのメンバーであるフォーラムメンバーに属します
carol@bar.edu - フォーラムメンバーに属しません。

alice@example.comに関連付けられたユーザーをSomeGroupに追加し(可能であればウェルカムメッセージを送信)、bob@foo.orgに関連付けられたユーザーについては何もしないで、carol@bar.eduにはグループ登録フラグ付きの招待状を送信するスクリプトを作成したいです。

ああ、そうだったんですね!知りませんでした。既存のメンバーには、グループに追加されたという通知が送信されますか?

メールアドレスのリストを使用する代わりに、APIを使用する方が理にかなっています。そのため、ユーザーがサインアップしたときに、このAPIを使用してグループに自動的に登録する必要があります: Discourse API Docs

これには、APIを使用する時点でユーザーがDiscourseに既に作成されている必要があります。これにはもう少しセットアップが必要になるかもしれませんが、ユーザーのメールアドレスを手動でアップロードするのではなく、ワークフローを完全に自動化できます。

「いいね!」 2

実際には、ユーザー名ではなくメールアドレスのリストがあります。私の組織では、フォーラムは組織の小さな一部であるため、フォーラムのユーザー名ではなく、名前とメールでメンバーシップレベルを追跡しています。メンバーシップコーディネーターは、毎週新しいメンバーの名前とメールのリストを私に送ってきます。フォーラムには公開セクションがあるため、この場合、フォーラムアカウントを持っている場合と持っていない場合があります。

実際には機能しないようです。招待リンクを送信しようとすると、「example@gmail.com を招待する必要はありません。すでにアカウントをお持ちです!」というメッセージが表示されます。

混乱している可能性があります。:slight_smile: フォーラムの既存の機能を使用して、ご希望のことを実現する方法があるか探ってみます。:+1:

編集:
一括招待オプションを使用してこれが可能だと思います。CSVファイルにメールアドレスがあり、2列目にそれらを追加したいグループがある場合、それを一括招待ツールで実行すると、アカウントを持っていない人には招待メールが送信され、既存のメンバーは2列目に入力したグループに追加されます。ただし、グループに追加されたことを通知する機能はありません。

「いいね!」 2

バルク招待は今のところ機能するはずです。ありがとうございます!新しい権限が付与された既存のメンバーにメッセージを追加する機能リクエストを提出したいと思います。

「いいね!」 1

混乱が解消されました。私が考えていたのはメールではなくリンクの方でした。 :slight_smile: したがって、別の方法としては、招待リンク(メールではなく)を作成し、それをメールリストの全メンバーにメールで送信することです。新規メンバーは、グループに追加されてトピックに移動する前に(その基準を追加した場合)、アカウント作成と招待の承諾ページに移動します。すでにログインしている既存ユーザーはグループに追加され、指定したトピックに直接移動します。ログインしていない既存ユーザーは、「アカウント作成と招待の承諾」ページからログインできます(ただし、そこからログインできるかどうかは少し曖昧ですが、js.create_account.subheader_title に追加テキストを追加してヒントを与えることができます)。その後、グループに追加され、トピックに移動します。

ただし、この方法でもグループに追加されたことを通知する通知は送信されませんが、最初の招待メールに説明を含める機会が得られるため、役立つかもしれません。また、「トピックに到着」もランディングページと同様の方法で活用できます。

お役に立てるかわかりませんが、解決できてよかったです。 :slight_smile:

「いいね!」 1