タグに基づいたトピック自動化?

トピックにタグを付けて閉じるなど、タグに基づいてトピックに対するアクションを自動化する方法はないでしょうか?以前も同様の質問がありましたが、@codinghorror さんがユースケースを求めても具体的な例が提示されませんでした。そこで、私たちが実際に持っているユースケースをご紹介したいと思います。

私たちはオープンソースの開発者コミュニティ向けの フォーラム を運営しており、また(Discourse と同様)インフラを提供するマネージドホスティングプラットフォームにはカスタマーサポートも備えています。

よく、フォーラムにホスティングに関連する具体的な問題について助けを求める投稿がなされます。そのような場合、トピックはサポート連絡先メールアドレスを含む保存済み返信とともに閉じられます。これ自体は問題ないのですが、トピックも保存済み返信も明らかに人間が投稿しているため、ユーザーにはリクエストの扱い方に対してネガティブな印象を与えてしまいます。

時には以下のような言及がなされることもあります。

「なぜあなたのチームは私のメールに返信する時間がなくて、[PERSON] は私のフォーラムのトピックを閉じる時間があるんですか?」

もちろん、彼らは異なるチームであり、私たちのフォーラムには当社に所属しないコミュニティメンバーもモデレーションを担っているという答えになります。しかし、顔と名前を持つ誰かがトピックを閉じることで、スタッフによる個人的な拒絶や支援拒否のような印象を与えてしまいます。

私が想定しているユースケースは、GitHub のボットが動作する仕組みに似ています。モデレーターがトピックにタグを追加すると、「ボット」ユーザーが自動返信を投稿し、トピックを閉じるという仕組みです。そうすることで、実際には何も変わらないにもかかわらず、適切にトピックを閉じ連絡先情報を提供している人物に対する敵対心を和らげられるかもしれません。


このアイデアや解決策に固執しているわけではありません。既存の Discourse 機能や、このような状況をより良く処理するための他のアプローチについての提案も歓迎します :slight_smile:

お読みいただきありがとうございます!

「いいね!」 5

制約内で考えられますが、このアクションを自動化するために当社の API を活用することを検討されましたか?

例えば、1 時間ごとに API を呼び出して閉じる必要があるトピック(タグ X が付いたすべてのオープントピック)を取得し、API とボットユーザーを使用してそれらを閉じるという方法です。

このようなスクリプトをスケジュール実行できるインフラ上の場所はお持ちでしょうか?

「いいね!」 2

それは有効な案だと思いますが、そのアプローチには唯一の懸念点があります。何かが発生してから最大1時間のギャップがある点です。この文脈では少し長すぎるように感じられますし、APIへの呼び出し頻度を増やすことはリソースの無駄遣いのように思えます。

論理的にフックできる場所はありますか?

例えば、DiscourseにはZapier統合があることは知っていますが、これを使ってこのためのDIY自動化を構築できる「トピック更新」イベントが不足しています。

ああ……実はタグに対してフック(ウェブフック)が用意されています。

定期ジョブを実行する必要はなく、ここで完全にレスポンシブな実装にするだけで済みます!

「いいね!」 3