Discord Bot Construction Kit 🤖

承知いたしました。それは少し残念です。なぜなら、サポートケースの全体像を把握するために、Discordのサポートチャンネルでスレッドを強制したばかりだからです。それが実際に役立つかどうかはわかりませんが、幸いなことに他の利点もあります。

APIのETAと、その機能のバックエンドにかかる費用の見積もりはありますか?

ありがとうございます!

/k

「いいね!」 2

最近チェイスしましたが、しばらく開発が続いています。もう一度チェイスして折り返しますが、注意してください。前回は「できたらできる」と言われました。オープンソースの問題は、多くの場合、コミュニティからの適切な資金調達(またはその欠如)を支援し、集中と優先順位付けを行うための良い方法がないことです。様子を見ましょう。

私の方では、最終的な実装を見て、労力を推定する必要があります。

課題は、メッセージをコピーするのは簡単ですが、スレッドをトピックと同期させ続けるには、Discourse内で何らかのマッピングを維持する必要があるかもしれないということです。例えば、DiscordスレッドをDiscourseトピックにマッピングするカスタムフィールドまたはテーブルがあれば、新しいメッセージがスレッドに追加されたときに、Discourseのどこに配置すればよいかがわかります。

求めている機能/動作を具体的に説明していただけますか?

「いいね!」 2

確かに、影響を与えられないものに依存するのは最悪ですね。

私のアイデアは、記事と、DiscordとDiscourseが互いをどれだけうまく補完できるかについてのDiscourseブログでの議論に大きく触発されています。約2か月前にDiscordサーバーを開始したとき、それがどのように進化し、既存の(しかしほとんど設定されていない)Discourseフォーラムにどのように影響するかは実際にはわかりませんでしたが、人々は技術サポートの質問をするためにDiscordと同様にそれを使用しているようです(私はFOSSプロジェクトCrowdSecに関わっています)。そのため、Discourseを長期的な記憶として使用し、DiscordのスレッドをDiscordチャンネルに一致するトピックの下にDiscourseに同期する(またはその逆)という考えに完全に賛同します。私の見方では、スレッドを使用することで、はるかに効果的に(例えば自動的に)行うことができます。

前述のように、最近Discordでスレッドを強制しました。これは、ユーザーサポートを担当する開発者にとって、常にスレッドの概要を把握するのが容易ではないことを意味します。そのため、Discourseへの同期を、回答すべき質問について最新情報を入手するための良い方法としても使用したいと考えていますが、Discordのチャットにあまり引き込まれないようにしたいです。

それは理にかなっていますか?そして、おそらくより短い期間でこれを達成する他の方法はありますか?

「いいね!」 2

Hi @merefield 様!

GitHubのIssueが確認されていないようなので、こちらでご連絡いたします。こちらが次善の策かと存じます。

image

Discordボットプラグインに起因するエラーが発生しています。上記の画像はインスペクタのエラーを示していますが、PMを送信するユーザーも、PM送信時に「500 Error」という表示を受け取ります。PMは正常に送信されますが、このエラーにより、そうではないように見えます。プラグインを無効にすると、問題は発生しなくなります。

この問題は /lib/discourse_event_handlers.rb から発生していると確信しています。PMが post_created DiscourseEventをトリガーし、それが posted_category = post.topic.category.id を介して投稿のカテゴリにアクセスしようとし、エラーを引き起こしていると推測しています。

これが問題解決の一助となれば幸いです。早急な解決を願っております。ありがとうございます。

「いいね!」 2

レポートありがとうございます。大体そんなところでしょう。今週中に確認できるかもしれません…

「いいね!」 2

素晴らしい、ありがとうございます!アップデートに注目しておきます。:+1:

「いいね!」 2

クライアントワークで手一杯なので、しばらくの間対応できない可能性があります。

それまでの間、プルリクエストは承認されました。

全体として、フリープラグインへのコミュニティからの貢献をもっと歓迎したいと思います。

「いいね!」 2

現在、私は非常に忙しいのですが、修正したと思われるものをプッシュしました。

FIX: exclude private messages from bot event considerations · merefield/discourse-discord-bot@82b2109 (github.com)

これで動作しているようで、PMでの恐ろしい500エラーはなくなりました…

「いいね!」 2

それは素晴らしいですね!そして、Discord Chat を置き換えるものになりますね!

Discourse のスラッグ名を読み取るようになっていますか、それともタイトルだけですか?

「いいね!」 1

Discordは、スラッグではなく、タイトルで管理されます。

「いいね!」 2

こんにちは。以前に質問されたことがあるか分かりませんが、OAuth認証情報はアプリと同じでなければなりませんか? 現在、別のDiscord同期統合を使用しており、OAuthフィールドはすでに記入されています。ありがとうございます。

「いいね!」 1

このプラグインは、コアの公式ソーシャルログインソリューションと互換性があります。ボットには、承認されたDiscordアプリからのトークンが必要です。ソーシャルログインにより、プラグインは2つのプラットフォーム間で同じユーザーを識別できます。

「いいね!」 2

回答ありがとうございます!設定で何が足りないのか、もう少しデバッグしてみます。

「いいね!」 2

Discordアプリと同じである必要はありませんが、試してみてください!

「いいね!」 2

こんにちは!
Discordアカウントに基づいてDiscourseユーザーに異なる信頼レベルを付与する方法をフォーラムで検索したところ、ここにたどり着きました。

すでにDiscordで活発なコミュニティがあり、最近Discourseを導入して、より整理された議論を行っています。

次のようなソリューションを探しています。Discordで特定のロールを持つメンバーがDiscordアカウントでログインすると、Discourseで自動的に信頼レベル1が付与されます。

このBot Kitは、このような実装の適切な出発点になりますか?

ありがとうございます。

「いいね!」 1

このボットは、知る限り、DiscourseからDiscordへの「一方通行」です。逆方向の機能は組み込まれていません。

個人的には、DiscourseインストールのユーザーイベントWebhookを監視する外部コードでこれを達成する方がはるかに簡単だと思います。

Webhookイベント送信 → DiscourseデータベースからDiscordユーザーIDを取得(Discord認証の使用が必要)-> discord.js、.pyなどでロールを取得 → Discourse APIリクエストでロールを割り当て

Discord IDを取得するには、Data Explorerプラグインを使用して次のクエリを作成する必要があります。

-- [params]
-- string :user
SELECT u.username, u.id, a.user_id, a.provider_name, a.provider_uid
FROM users u
JOIN user_associated_accounts a on a.user_id = u.id
WHERE u.username = :user

その後、Data Explorerプラグインのドキュメントを参照し、APIリクエストでそのクエリを実行してIDを取得できます。

これでいくらか役立つことを願っています。

「いいね!」 1

これはロール同期に関しては真実ですが、それ以外は正しくありません。

OPから:

したがって、DiscordからDiscourseへの動作はたくさんあり、「ロール同期」ボットとは程遠いです。

いつものように、一般的に役立つ追加機能があればPRを歓迎します。コミュニティからの追加があると良いでしょう。:eyes:

「いいね!」 4

@merefield 投稿ありがとうございます。

Discordを教えていただけますか?もしよろしければ、いくつか質問があります。

知識をオープンに、そして誰にでも検索可能に保つためには、質問はここで行うのが最善でしょう。Discordは情報のブラックホールです。情報が入っても、二度と見つけられなくなってしまいます :slight_smile: それ以外にも、Discourseでのチャットもあります。

「いいね!」 1

Keneさん、商用目的でない場合は、コミュニティが(あるいは回答者が)利益を得られるように、ここで質問していただけると幸いです。

「いいね!」 3