哎呀、OP から間違ったリンクを削除してしまいました。(プラグインが2つあり、OAuth の方を削除すべきだったのですが、代わりにボットのリンクを削除してしまいました!)
すぐにそのプラグインをアンインストールしてください。Core には既に Discord OAuth が標準でサポートされています。
ボットプラグインはこちらです:
OP を修正しました。ご迷惑をおかけして申し訳ありません!!
哎呀、OP から間違ったリンクを削除してしまいました。(プラグインが2つあり、OAuth の方を削除すべきだったのですが、代わりにボットのリンクを削除してしまいました!)
すぐにそのプラグインをアンインストールしてください。Core には既に Discord OAuth が標準でサポートされています。
ボットプラグインはこちらです:
OP を修正しました。ご迷惑をおかけして申し訳ありません!!
このプラグインが、ユーザーがグループに加入するタイミングで手動同期ではなく自動的に更新を行うようになる可能性について、何か情報はありますか?また、プラグインが独自にロールを作成・上書きするのではなく、どのグループやロールを同期するかを指定できる機能は将来的に実装される見込みはありますか?
初めてのリクエストですので、ご想像の通り、バックログにもまだ登録されていません。
ボットは独立したスレッドで動作しているため、これはかなり複雑です。ボットにメッセージを送信するメソッドを追加し、リクエストを監視するように設定する必要があります。技術的には興味深い課題ですが、容易ではありません。
あるいは、ボットを使用する代わりに、直接 API を呼び出す方法を検討する方がよいかもしれません。その場合、独立した呼び出しに基づいて別のプラグインで提供すべきかどうかを検討する必要があります。
それは良いアイデアですが、なぜそれらを別々にする必要があるのでしょうか?
こちらの方が実用的です。
プルリクエストは受理しました。残念ながら、資金提供がない限り、重要な機能の開発に割ける時間は非常に限られています。
現状では、ロールが「名前」ではなく「タイトル」に基づいて設定されているようです。そのため、Discordのロールにダッシュが入ったり、スペースがなくなったりしてしまいます。つまり、ロールの名前ではなく、フルネームまたはデフォルトのタイトルに基づいて設定する別の解決策が必要かもしれません。
また、Discourse上のグループで、Discordと一切同期したくないものもあるかもしれません。
ご返信ありがとうございます ![]()
これは意図的なもので、説明フィールドをキーとして使用しないようにするためです。説明フィールドには以下の問題があるためです:
a) スペースが含まれる可能性がある
b) 一意ではない
(これはコンピュータサイエンスにおいて通常、非常に悪いアイデアです)
ただし、これを安全に改善できる方法があれば、ぜひ教えてほしいです。見た目があまり良くないことは理解しています ![]()
プラグインに、管理者の判断で特定のグループの同期を無効にする機能を追加することは確かに可能です。PR(プルリクエスト)は歓迎します。
API メソッドの検討が進むまでの間、ボットにスケジュールされた時間に自動同期させることは可能でしょうか?例えば、1 時間ごと、または 24 時間ごとなどにチェックするような感じです。
「x時間後にこの処理を再度実行する」といった機能を追加することも、問題なく可能だと考えられます。
ただし、その場合の課題は、ボットが停止するたびに(例えば再起動時など)その処理も中断されてしまう点です。
最も理想的なアプローチは、以下のいずれかです。
a) このプラグインに、Sidekiq ジョブと連携した個別の API 呼び出しを追加する
b) ボットを利用せず通常の API 呼び出しを行う新しいプラグインを作成し、その中でバッチ同期を実装する
いずれの方法を採用する場合でも、スポンサーシップの獲得、あるいはプルリクエスト(PR)の提出が必要となります。
なるほど。お手伝いいただき、ありがとうございます。
こんにちは。
現在、あなたのプラグインを使用しており、実用的なレベルまで設定を完了しています。とても素晴らしい機能で、お疲れ様です!
ただし、いくつか質問があります。すべてが動作するようになった今、ユーザーに Discord OAuth 経由でのログインを必要としています。これにより、新しいアカウントが作成されてしまいます。
これを管理するための最良の方法は何でしょうか?新しいアカウントと既存のアカウントをマージする必要がありますか?管理者アカウントで試してみましたが、手動で !discsync を実行しようとした際に「コマンド discsync を実行する権限がありません」というエラーが表示されました。
また、Discourse からロールがまだ 1 つもコピーされていません。
参考までに、私の Discord アカウントはオプション画面で「関連付けられたアカウント」として表示されています。
お手伝いいただき、ありがとうございます!
プラグインにご興味を持っていただきありがとうございます!
これはプラグインの機能ではなく、コア機能です。Discord OAuth は Discourse にデフォルトで搭載されています。
上記の設定は、このプラグインを Discourse に追加したかどうかに関わらず表示されます。
ソーシャルアカウントでログインする場合、登録時のメールアドレスが一致していれば、アカウントは認識され、新しいアカウントは作成されません。ただし、ユーザーが Discord と Discourse で異なるメールアドレスを使用している場合、同じユーザーであることを判別する方法がないため、新しいアカウントが作成されてしまいます。
Discord サーバー上の管理アカウントのことでしょうか?また、ボットを承認しましたか?
Ping! の結果はどうなっていますか?
その通りです。最悪の場合、一致しないメールアドレスを持つアカウントをマージするだけです。
はい、その通りです。Discord インスタンスと Discourse インスタンスの両方の所有者です。“Ping!” の結果は “Pong!” です。Discourse から Discord へロールは移行されていません。
ボットは私の Discord サーバーに存在し、管理者権限を持っています。「承認」とはどういう意味でしょうか?
ブラウザでボットを認証する必要があります。詳しくは Discord Developer Portal をご覧ください。
ボットの設定が完了したら、トークンをコピーしてください。後で Discourse にそのトークンを入力する必要があります。
この手順は完了しましたか?(すべての前提条件を確認しているだけです。おそらくすでに完了されていると思いますが)
ええ、あります ![]()
私の直感では、Discord サーバーにおけるあなたの権限またはボットの権限が何らかの理由で正しく設定されていないようです。私は現在数十個のプラグインを扱っており、このプラグインについても思い出を新たにするために確認しています。このプラグインへの最終変更はだいぶ前になります!
了解しました!私の方で素早く確認したところ、サーバー所有者として登録されており、管理者権限を持っていることが確認できました。
追記:ボットに必要な権限について明確にできますか?現在、管理者権限が付与されています(これは OAuth 招待ではなく、ロールによって付与されたものです)。
チャンネルの権限を確認してもらえますか?Discordのチャンネル権限は、サーバー権限よりも優先されます。
はい、チャンネル内では問題なく動作しています。メッセージの送受信を妨げるような権限設定はされていません。
「Pong!」は送信できますが、!discsync を実行するには必要な権限がないと表示されます。
[quote=“Zavan, 投稿:45, トピック:122530”]
Pong! を送信することはできますが、!discsync を実行するには必要な権限がないと表示されます。[/quote]