このガイドでは、Discourse のオートメーションプラグインを使用して自動応答を設定する方法を説明します。自動応答は、特定のキーワードを含む投稿や個人メッセージに自動的に返信できます。
必要なユーザーレベル:管理者
Discourse の自動応答は、特定のキーワードやフレーズを含む投稿に自動的に返信できます。この機能は、一般的なクエリや状況への応答を自動化することで、モデレーターや管理者がより複雑なタスクに集中するのに役立ちます。
まとめ
このガイドでは、以下の項目を説明します。
- 新しい自動応答スクリプトの作成
- トリガーの選択と設定
- 単語/回答ペアの設定
- オートメーションの有効化
新しいスクリプトの作成
- サイトのオートメーションページ (
example.discourse.com/admin/plugins/discourse-automation) に移動します。
+ 作成 をクリックして新しいスクリプトを作成します。
自動応答 オプションを選択します。
- 再度
+ 作成 をクリックして続行します。
トリガーの選択
次の 2 つのトリガーオプションから 1 つを選択します。
- 投稿の作成/編集
- 個人メッセージの作成
投稿の作成/編集トリガーオプション
- アクションタイプ: 投稿の作成または編集に限定します。
- カテゴリ: 特定のカテゴリに限定します。
- グループ: 特定のグループの受信トレイでのプライベートメッセージに限定します。
- 自動化されたメッセージを無視: 送信者が
noreply メールを持っているか、自動化されたソースからのものである場合はスキップします。
- グループメンバーを無視: 送信者が指定されたグループのメンバーである場合はスキップします。
- 有効な信頼レベル: 特定の信頼レベルを持つユーザーからの投稿に限定します。
- 最初の投稿のみ: ユーザーの最初の投稿に限定します。
- 最初のトピックのみ: ユーザーの最初のトピックに限定します。
個人メッセージの作成トリガーオプション
- ユーザー: 特定のユーザーに送信された PM に限定します。
- グループ: 特定のグループに送信された PM に限定します。
- スタッフを無視: 送信者がスタッフユーザーである場合はスキップします。
- 自動化されたメッセージを無視: 送信者が
noreply メールを持っているか、自動化されたソースからのものである場合はスキップします。
- グループメンバーを無視: 送信者が指定されたグループのメンバーである場合はスキップします。
- 有効な信頼レベル: 特定の信頼レベルを持つユーザーからの PM に限定します。
スクリプトオプションの設定
トリガーを設定した後、次のオプションを設定します。
- 単語/回答ペア: キーワードとそれに対応する応答を定義します。
- 回答ユーザー: 自動返信に使用するユーザーアカウントを選択します。
- 一度チェックボックス: オートメーションがトピックごとに 1 回だけトリガーされるように制限します。
単語/回答ペアの設定
単語/回答ペアのリスト の横にある 設定 ボタンをクリックします。
- キー/値のペアを入力します。
- キー: トリガーとなる単語またはフレーズ(大文字小文字を区別しません)
- 値: 自動応答テキスト
キー は正規表現文字列として評価されます。. のような特殊文字はバックスラッシュ(例: \\.)でエスケープしてください。ECMAScript フレーバーを使用して regex101.com で正規表現をテストできます。
値 フィールドで %%KEY%% を、検出されたトリガーワードのプレースホルダーとして使用します。
オートメーションの有効化
- 画面下部にある
有効 チェックボックスをオンにします。
更新 をクリックして変更を保存します。
有効 チェックボックスをオフにしたままにすると、オートメーションは有効化されずに保存される可能性があります。
「いいね!」 9
mattdm
(Matthew Miller)
2
トピックの最初の投稿にのみ自動応答を制限することは可能ですか?「一度だけ」でそれができると思われるかもしれませんが、(明らかに振り返ってみると)自動化が設定された後にトピックが作成された場合にのみ正しいです。
「いいね!」 1
mattdm
(Matthew Miller)
3
あるいは(あるいは、さらに?)自動投稿をトピックのOPの直後に遡って投稿し(その後、その順序でマージする)ことは可能でしょうか?
「いいね!」 1
mattdm
(Matthew Miller)
4
私のユースケース:特定のカテゴリのトピックに、そのトピック用の新しい投票で返信する。
「いいね!」 1
maiki
(maiki)
5
つまり、古いディスカッションのカテゴリがあり、誰かがそこに返信すると、役に立たない自動応答が返ってきますが、トピックが作成された際の応答として役立つ情報が含まれているということですね? 
もしそうであれば、残念ながらこの自動化ではその動作はサポートされていないと思います。他の自動化も試してみましたが、うまくいきそうなのはAIによるトリアージだけですが、求めている結果を得るには高価になりそうです。 
「いいね!」 3
mattdm
(Matthew Miller)
6
はい、正しいです。新しいトピックにのみ応答する新しいオプションを作成するのはどれくらい難しいでしょうか?
「いいね!」 1
4件の投稿が新しいトピックに分割されました: 自動応答は@メンションでトリガーできますか?
SaraDev
(Sara Devlaeminck)
このトピックを分割しました:
9
返信で利用できる他のテンプレート変数はありますか?グループにプライベートメッセージを送信したユーザーの名前を取得できるようにしたいです。
SaraDev
(Sara Devlaeminck)
12
現在、自動応答機能の value フィールドで検出されたトリガーワードのプレースホルダーとして %%KEY%% を使用できるのは、唯一利用可能なテンプレート変数です。
自動応答機能では、グループにプライベートメッセージ(PM)を送信したユーザーの名前を取得するための組み込み変数が用意されていないようです。これは、他の Discourse 機能(メールテンプレート、AI ペルソナ、「PM を送信」自動化スクリプトなど)にはさまざまなユーザー関連の変数が用意されているのに対し、現在の実装における制限事項です。
これを念頭に置くと、これは同様の機能に関する他のいくつかのリクエストに似ています。
- 「PM を送信」スクリプトにユーザーの実際の名前の変数を追加するリクエスト
- ダイレクトメッセージ受信者向けの定型返信変数の機能リクエスト
この機能にご興味がある場合は、この自動化に追加したいテンプレート変数の種類に関する詳細情報とともに、Feature トピックを作成することをお勧めします。機能に関心を示す人が多ければ多いほど、Discourse に実装される可能性が高まります。これは素晴らしいアイデアのように思えますので、どのような機能をご希望か、ぜひお聞かせください。
「いいね!」 2
tknospdr
(David Muszynski)
13
作成したキーペアのいずれにも一致しないあらゆるトピックに対する応答をトリガーするためにワイルドカードを使用することは可能ですか?
また、同じトピックで複数のキーワードが言及されている場合、応答はどのように選択されますか?
アルファベット順、それとも上から順ですか?
SaraDev
(Sara Devlaeminck)
14
こんにちは @tknospdr さん、
自動応答トリガー検出は、キー/値ペアで定義した特定の正規表現パターンに応答するように設計されています。他のキーペアが一致しない場合にトリガーされる「キャッチオール」の明示的な機能はありません。
ただし、キーは正規表現文字列として評価されるため、最後の項目としてほとんどのコンテンツに一致する非常に広範な正規表現パターンを作成できます。.* のようなものはキャッチオール正規表現として機能しますが、これは(他のパターンに一致するコンテンツを含む)すべてに一致します。
投稿またはトピックで複数のキーワードが見つかった場合、自動応答はすべての一致する応答で応答します。応答は、キー/値ペアが追加された順序、または構成にリストされている順序で投稿されます。
これは、投稿に複数のパターンに一致するキーワードが含まれている場合、単語/回答ペアリストに表示される順序で複数の自動応答を受け取ることを意味します。
「いいね!」 1
tknospdr
(David Muszynski)
15
それは良くないですね。これは私たちのチケットシステム用なので、顧客がヘルプを求めたときに2つまたは3つの異なるメール応答でスパムを送信したくありません。
設定があれば素晴らしいのですが:
複数のキーペアマッチを1つの返信に結合する。
それまでは、元のユースケースに戻って、.*を入力し、統一された一般的な応答を使用します。ただし、それは{user}が{x}日間{category}に投稿していない場合にのみトリガーされる必要があります。