自動応答オートメーションの作成

:bookmark: このガイドでは、Discourse の Automation プラグインを使用して自動応答を設定する方法について説明します。自動応答機能は、特定のキーワードを含む投稿やプライベートメッセージに対して自動的に返信を行うことができます。

:person_raising_hand: 必要なユーザーレベル:管理者

Discourse の自動応答機能は、特定のキーワードやフレーズを含む投稿に対して自動的に返信を行うことができます。この機能により、モデレーターや管理者は、一般的な問い合わせや状況への対応を自動化することで、より複雑なタスクに集中することが可能になります。

まとめ

このガイドでは以下の内容について解説します:

  • 新しい自動応答スクリプトの作成
  • トリガーの選択と設定
  • 単語/回答ペアの設定
  • 自動化の有効化

新しいスクリプトの作成

  1. サイトの自動化ページ(example.discourse.com/admin/plugins/automation)に移動します
  2. + Create をクリックして新しいスクリプトを作成します
  3. Auto Responder オプションを選択します
  4. 進めるために再度 + Create をクリックします

トリガーの選択

以下の 2 つのトリガーオプションから 1 つを選択します:

  1. 投稿作成/編集時
  2. プライベートメッセージ作成時

投稿作成/編集時のトリガーオプション

  • Action Type:作成または編集された投稿に限定
  • Topic Type:すべてのトピック、公開トピックのみ、プライベートメッセージのいずれかに限定
  • Categories:特定のカテゴリに限定
  • Exclude subcategories:指定されたカテゴリ(そのサブカテゴリを除く)にトピックが完全に属している場合のみトリガー
  • Tags:特定のタグを持つトピック内の投稿に限定
  • Restricted Groups:特定のグループに所属するユーザーによる投稿に限定
  • Excluded Groups:投稿者がこれらのグループのいずれかに所属している場合はスキップ
  • Restricted Inboxes Groups:特定のグループの受信トレイにあるプライベートメッセージに限定
  • Ignore Automated:送信者に noreply メールアドレスがある場合、または自動化されたソースからの場合(メール経由で作成された投稿にのみ適用)はスキップ
  • Valid Trust Levels:特定の信頼レベルを持つユーザーからの投稿に限定
  • Original Post Only:トピックの最初の投稿(OP)でのみトリガー
  • First Post Only:ユーザーの最初の投稿に限定
  • First Topic Only:ユーザーの最初のトピックに限定
  • Skip via Email:メール経由で作成された投稿の場合はトリガーをスキップ
  • Post Features:特定の機能(画像、リンク、コード、アップロード)を含む投稿に限定

プライベートメッセージ作成時のトリガーオプション

  • Users:特定のユーザーに送信された PM に限定
  • Group:特定のグループに送信された PM に限定
  • Ignore Staff:送信者がスタッフユーザーの場合はスキップ
  • Ignore Automated:送信者に noreply メールアドレスがある場合、または自動化されたソースからの場合(メール経由で作成された PM にのみ適用)はスキップ
  • Ignore Group Members:送信者が指定されたグループのメンバーの場合はスキップ
  • Valid Trust Levels:特定の信頼レベルを持つユーザーからの PM に限定

スクリプトオプションの設定

トリガーを設定した後、以下のオプションを設定します:

  1. Word / answer pairs:キーワードと対応する返信を定義
  2. Answering user:自動返信に使用するユーザーアカウントを選択(デフォルトは System ユーザー)
  3. Once checkbox:トピックごとに自動化を 1 回のみトリガーするように制限

単語/回答ペアの設定

  1. list of word / answer pairs の横にある Configure ボタンをクリックします
  2. キー/値ペアを入力します:
    • Key:トリガーとなる単語またはフレーズ(大文字小文字を区別しない)
    • Value:自動返信テキスト

:information_source: key は、単語境界マッチングを含む正規表現文字列として評価されます。. のような特殊文字はバックスラッシュでエスケープしてください(例:\\.)。Ruby フレーバーを使用して regex101.com で正規表現式をテストできます。

:mega: value フィールドで %%KEY%% を検出されたトリガー単語のプレースホルダーとして使用できます。また、%%SENDER_USERNAME%% を返信ユーザーのユーザー名のプレースホルダーとして使用することもできます。

:bulb: 複数の単語/回答ペアが同じ投稿に一致する場合、すべての一致する返信が空白行で区切られて 1 つの返信に結合されます。

自動化の有効化

  1. 画面下部の Enabled チェックボックスをオンにします
  2. 変更を保存するために Update をクリックします

:warning: Enabled チェックボックスをオフのままにすると、有効化せずに自動化を保存できます。

「いいね!」 9

トピックの最初の投稿にのみ自動応答を制限することは可能ですか?「一度だけ」でそれができると思われるかもしれませんが、(明らかに振り返ってみると)自動化が設定された後にトピックが作成された場合にのみ正しいです。

「いいね!」 1

あるいは(あるいは、さらに?)自動投稿をトピックのOPの直後に遡って投稿し(その後、その順序でマージする)ことは可能でしょうか?

「いいね!」 1

私のユースケース:特定のカテゴリのトピックに、そのトピック用の新しい投票で返信する。

「いいね!」 1

つまり、古いディスカッションのカテゴリがあり、誰かがそこに返信すると、役に立たない自動応答が返ってきますが、トピックが作成された際の応答として役立つ情報が含まれているということですね? :smiley:

もしそうであれば、残念ながらこの自動化ではその動作はサポートされていないと思います。他の自動化も試してみましたが、うまくいきそうなのはAIによるトリアージだけですが、求めている結果を得るには高価になりそうです。 :sweat_smile:

「いいね!」 3

はい、正しいです。新しいトピックにのみ応答する新しいオプションを作成するのはどれくらい難しいでしょうか?

「いいね!」 1

4件の投稿が新しいトピックに分割されました: 自動応答は@メンションでトリガーできますか?

投稿が新しいトピックに分割されました:投稿作成/編集トリガーでプライベートメッセージを自動送信

返信で利用できる他のテンプレート変数はありますか?グループにプライベートメッセージを送信したユーザーの名前を取得できるようにしたいです。

現在、自動応答機能の value フィールドで検出されたトリガーワードのプレースホルダーとして %%KEY%% を使用できるのは、唯一利用可能なテンプレート変数です。

自動応答機能では、グループにプライベートメッセージ(PM)を送信したユーザーの名前を取得するための組み込み変数が用意されていないようです。これは、他の Discourse 機能(メールテンプレート、AI ペルソナ、「PM を送信」自動化スクリプトなど)にはさまざまなユーザー関連の変数が用意されているのに対し、現在の実装における制限事項です。

これを念頭に置くと、これは同様の機能に関する他のいくつかのリクエストに似ています。

  1. 「PM を送信」スクリプトにユーザーの実際の名前の変数を追加するリクエスト
  2. ダイレクトメッセージ受信者向けの定型返信変数の機能リクエスト

この機能にご興味がある場合は、この自動化に追加したいテンプレート変数の種類に関する詳細情報とともに、Feature トピックを作成することをお勧めします。機能に関心を示す人が多ければ多いほど、Discourse に実装される可能性が高まります。これは素晴らしいアイデアのように思えますので、どのような機能をご希望か、ぜひお聞かせください。:slightly_smiling_face:

「いいね!」 2

作成したキーペアのいずれにも一致しないあらゆるトピックに対する応答をトリガーするためにワイルドカードを使用することは可能ですか?

また、同じトピックで複数のキーワードが言及されている場合、応答はどのように選択されますか?
アルファベット順、それとも上から順ですか?

こんにちは @tknospdr さん、

自動応答トリガー検出は、キー/値ペアで定義した特定の正規表現パターンに応答するように設計されています。他のキーペアが一致しない場合にトリガーされる「キャッチオール」の明示的な機能はありません。

ただし、キーは正規表現文字列として評価されるため、最後の項目としてほとんどのコンテンツに一致する非常に広範な正規表現パターンを作成できます。.* のようなものはキャッチオール正規表現として機能しますが、これは(他のパターンに一致するコンテンツを含む)すべてに一致します。

投稿またはトピックで複数のキーワードが見つかった場合、自動応答はすべての一致する応答で応答します。応答は、キー/値ペアが追加された順序、または構成にリストされている順序で投稿されます。

これは、投稿に複数のパターンに一致するキーワードが含まれている場合、単語/回答ペアリストに表示される順序で複数の自動応答を受け取ることを意味します。

「いいね!」 1

それは良くないですね。これは私たちのチケットシステム用なので、顧客がヘルプを求めたときに2つまたは3つの異なるメール応答でスパムを送信したくありません。

設定があれば素晴らしいのですが:
:white_check_mark:複数のキーペアマッチを1つの返信に結合する。

それまでは、元のユースケースに戻って、.*を入力し、統一された一般的な応答を使用します。ただし、それは{user}が{x}日間{category}に投稿していない場合にのみトリガーされる必要があります。