Discourseでコンソールを使用する際に、スポーンせずに使用できますか?
リマップを試みると、ボットがエラーを教えてくれます🥲
Discourseでコンソールを使用する際に、スポーンせずに使用できますか?
リマップを試みると、ボットがエラーを教えてくれます🥲
それが何を意味するのかよくわかりません。唯一のやり取りはDiscordで行われるはずです。
しかし、どのようなエラーが発生していますか?後で確認します。
私もこの問題が発生しています。ディスコースコンテナに入り、rails c プロンプトを開始すると、ボットの別のインスタンスが生成されます。その結果、Ping! のようなコマンドは 2 回 Pong! を返し、discordrb を介してユーザー名やニックネームを変更できないなどの問題が発生します。
::DiscordBot::Bot.discord_bot.stop コマンドを実行すると、rails c によって生成されたインスタンスは終了しますが、Discourse が起動したときに生成されたボットと対話することはできません。
レポートありがとうございます。既知の問題として記録します(編集:完了しました - OPの「既知の問題」セクションに追加しました)。ただし、これは当初からこのように動作していたと思われます。報告されたのは数回だけで、ごく最近のことなので、エッジケースであるため、一般的に大きな問題とは見なされていないと思われます。
技術的に可能と思われるので、解決できればプルリクエスト(PR)も歓迎します。
正直なところ、これはDiscordrbのコアの問題かもしれません。ドキュメントで他の実行中のボットを一覧表示したり、選択したりする方法が見つかりません。もし分かり次第お知らせします。このボットについては、プロジェクトをフォークし、投稿ブリッジではなくチャットブリッジとして機能するように最善を尽くして変更しました。
実行中のインスタンスがあるかどうかをテストし、存在する場合は新しいインスタンスを実行しないようにする必要があります。
これは競合状態の危険地帯ですが、非常に良い改善になるでしょう。
もっと時間があればすぐに確認しますが、もしあなたがやってみたいならどうぞ。
レールコンソールが起動すると、@@DiscordBot 変数が別のスレッドの別のボットにバインドされ、元のボットはそのまま残るようです。レールコンソールが起動していることを検出して 2 番目のボットを起動しないようにすることが可能かどうかはわかりませんが、これにより、Discourse で起動したボットには影響を与えずに、レール経由でボットの停止コマンドを実行できる理由が説明されます。
こんにちは。
素晴らしい出来栄えですね。これを使いたいのですが、まず関連する質問があります。
WordPress を SSO の「マスター」として使用するために Discourse WP-Connect を使用しています(Discord ログインも使用できます)。このプラグインが Discord ユーザーと一致させるために、SSO リクエストでどのような「ユーザー変数」を渡す必要があるかご存知ですか?それともメールアドレスだけで十分でしょうか(そうではないと仮定しています)。
すでにいくつかの追加値を送信していますが、追加の値を送信するだけで済むことを願っています。
OP の通り、関係を確立するには Discord による認証 (組み込みのコア ロジックを使用) が必要です。
WordPress からハードコーディングされた SSO は、特に新規ユーザーにとってはそれを妨げます。
それを回避する方法を見つけた場合は、PR または追加のドキュメントを歓迎します。
素晴らしい仕事ぶりですね。お見事です。それは有益な洞察です。
いや、それは私が尋ねたこととは少し違いますね。Discordログインは現在Discourseに組み込まれているので、サポートで尋ねるのが一番良いかもしれません。
このプラグインの範囲では、WordPress SSO をサポートすることはできません。
しかし、正しい方向を示すために、このテーブルにエントリが必要です。
これは、Discord 経由でログインすると自動的に行われます。
WordPress SSO が Discord の代わりにそれを設定できるとは思いませんが、間違っていると証明される準備はできています。
Discord の代わりにユーザーに使用してもらいたい OAuth ソースもあります。これを回避するために、OP のとおり Discord OAuth を有効にしていますが、カスタム CSS を使用して、ユーザーに使用してもらいたいログインソース以外のすべてのログインソースを display: none; CSS オプションで非表示にしています。Discord で OAuth を行う機能は「技術的には」まだ HTML に存在しますが、通常の一般ユーザーが見つけることは決してありません。
その後、ユーザーは他の OAuth ソースが作成したアカウントを、ユーザー設定で「接続」できます。
なるほど、それは回避策になりそうですね。実際のコードソリューションを調査するかもしれません。これはDiscourseの設定に表示されるのでしょうか?このトピックを肥大化させないために、DMでやり取りすることは可能でしょうか?
DiscordチャンネルをトピックではなくDiscourseカテゴリと一致させるのはなぜですか?重複した名前のトピックが存在する可能性があるためですか?5つのチャンネルを3つのカテゴリ内の関連トピックに送信したいのですが、それは不可能のようですか?
単一のトピックの発表はかなり退屈になるからでしょうか?
特定のカテゴリで新しいトピックを発表できるように、意図的にレベルを高く設定しています。
すみません、これのことです

それはクライアントからのリクエストでした💰
すべてのチャットは、トピックが多すぎて散らかるのを避けるために、カテゴリごとに1つのトピックにまとめられます。
なるほど
もちろんですが、カテゴリを使用しているため、たとえば「Ford」カテゴリ内に、Discordの#ford-supportチャンネルから同期された「#ford-support」スレッドを持つことができません。Rubyは私の得意な言語ではないため、フォークして調整することはできないと思います(Ruby以外の多くのことでは行っています)。
トピック/スレッド名に基づいて行うようにするのは簡単ですか?それとも何らかの制限がありますか?
サイドノート画像(興味深いことにGIFは同期します)はトピックに同期しません。これは既知のことでしょうか?
編集:ああ、作成後にトピックを移動できるようです。
RubyのDiscord APIでは、前回確認した時点ではスレッドは利用できませんでしたが、「開発中」だと聞きました(2年前!)。
可能になったら、スレッドのサポートを追加するPRをぜひ歓迎します。
残念ながら、最近は有料の仕事以外でプラグインの機能開発に集中できるほど余裕がありませんが、PRのレビューは喜んで行います。