APIを使って新着チャットメッセージをチェックする

こんにちは。

Discourse を別のアプリに統合しており、API を介してユーザーに未読のチャットアクティビティがあるかどうかを確認しようとしています。新しいメッセージがある場合は、赤いバッジを表示したいだけです。

具体的には、「chat_header_indicator_preference」で顧客が設定した設定を活用しようとしており、現時点では「all_new」に設定しています。これは、私が所属しているチャンネルの新しいメッセージと、未読のメンション/ダイレクトメッセージの両方が表示されるはずだと思います。

/session/current.json にアクセスすれば、これに使用できるものがわかると思っていましたが、有用なものは何も見つかりませんでした。

ユーザーの chat_header_indicator_preference に基づいて新しいメッセージがあるかどうかを理解するために使用できる API エンドポイントはありますか?

/chat/api/me/channels とトラッキングキーに、必要な情報はすべて含まれています。将来的には、より特化したエンドポイントを作成する可能性があります。

「いいね!」 1

@j.jaffeux さん、ありがとうございます。/chat/api/me/channels を確認したところ、tracking の下で、すべてのチャンネルを調べて、いずれかのチャンネルの unread_count が > 0 かどうかを確認できることがわかりました。これは役立ちます。

しかし、これはユーザーの chat_header_indicator_preference とは関係がないように思われますし、ユーザーにとって DM やメンションがあったかどうかを教えてくれるものでもありません。

理論的には、まずユーザーが「all_new」に設定しているかどうかを確認し、もしそうであれば、チャンネルの unread_counts のいずれかが > 0 かどうかを確認し、それらがすべて 0 であれば未読 DM/メンションを確認することで、chat_header_indicator_preference のロジックを再作成しようとすることができます。

しかし、もっと良い方法があることを願っています…(また、未読 DM/メンションの 2 番目の部分をどのように取得するのかわかりません)。

どのような助け/ガイダンスでも大変感謝いたします。

「いいね!」 1

申し訳ありませんが、何を達成しようとしているのか理解できません。

アプリでチャットに新しいアクティビティがある場合にバッジを表示しようとしています。

設定 – > チャットの下に、「chat_header_indicator_preference」という設定があり、以下のオプションがあります。

ユーザーは、この設定に基づいて新しいアクティビティの赤いバッジが表示されることを期待するはずです。「すべての新しいメッセージ」が設定されている場合、これは、参加しているいずれかのチャンネルに新しいアクティビティがある場合、またはメンションやダイレクトメッセージがあった場合にバッジが表示されることを意味すると期待できます。

すべてのチャンネルをループして未読メッセージがあるかどうかを確認する方法を教えていただきましたが、1) それはこの設定とは関係ありません。2) ダイレクトメッセージやメンションがあるかどうかを理解するのに役立ちません。

理想的には、顧客の chat_header_indicator_preference に基づいてバッジを表示するのに役立つエンドポイントを見つけたいと考えていました。

それが不可能であれば、まず chat/api/me/channels の「追跡セクション」に未読があるかどうかを確認し、次にダイレクトメッセージ/メンションがあったかどうかを確認するために別の場所を確認する必要があるようです。

その2番目の場所がどこにあるのかわかりませんが、誰かが正しい方向を指し示してくれることを願っていました。

これで意味が通じますか?

「いいね!」 1

トラッキングには、直接チャネルと公開チャネルの両方があります。

「いいね!」 2

ありがとうございます…それは私にはわかりませんでした。

トラッキングにおいて、どのチャンネルがDMで、どれが公開であるかを知る方法はありますか?

ユーザーの chat_header_indicator_preference が「ダイレクトメッセージとメンション」に設定されている場合、チャンネルの通常の新しいメッセージのバッジを表示したくありません。

「いいね!」 1

はい、direct_message_channelspublic_channels がありますので、トラッキングでIDを使って検索できます。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.