Discord Bot Construction Kit 🤖

すみません、昔のフォーラムの言い方です。スレッドはDiscordのスレッドではなく、Discourseのトピックです。

カスタム機能にはお金を払ってもいいのですが、トピック作成後に移動するだけで回避策が見つかったと思います :thinking: あまりにも簡単すぎた気がします。

Discordのスレッドは2年くらい前からありましたか?いやはや、年を取ってきましたね :laughing: 時間の流れが分からなくなってきました。

でも、画像とメンションのサポートを追加するのは簡単でしょうかね :thinking:

見積もりをください :wink:

image


「いいね!」 1

はい、Discourseでこの会話を続けてください!

私もDiscordサーバーと同期するためにこのプラグインを実装しています!

これは、DiscordのロールがDiscourseにコピーされるという意味ですか?それともその逆ですか?結局のところ、どちらのオプションも許可できるようになるのが最善でしょう。

「いいね!」 1

PRを楽しみにしています

「いいね!」 1

私のと同じですか?PR?どのPR?

@merefield こんにちは!素晴らしい作品ですね。きっと多くの人がそうであるように、私もDiscourseとDiscordを何らかの形で連携させるプラグインやボットを探していて、この投稿を見つけました。

この時点で、諦めて開発者に依頼しようとしていたのですが、私はオープンソースの信奉者であり、まずこのトピックを見つけられたことに感謝しています。

私がモデレーターを務めるDiscordコミュニティの1つでは、異なる作者の複数のライブラリがあり、それらのコミュニティは重複しているため、そのライブラリのテクニカルサポートのためにそのDiscordと関連チャンネルを使用しています。

SEO、ナレッジベース構築、利便性のための理想的な解決策は、全員がDiscourseフォーラムを使用することですが、他の条件がすべて同じであれば、人々は単にDiscordで質問を投稿することを好み、応答する側は、その会話をDiscourseに複製する手動のソリューションを見つけることになります。

ユーザーに悪いUXを強制することなく(例:「Discordへようこそ、次にDiscourseに行って同じ質問を繰り返してください」)、この非効率性と戦うために、各ライブラリチャンネルのメインコメントがDiscourseフォーラムに新しいトピックを自動生成する可能性を持たせたいと考えています。これはすぐにスパムになる可能性があるため、以下の条件が満たされた場合にのみトリガーされるようにしたいと考えています。

  1. スレッドに発展した場合(質問が実際に回答されたことを示唆している)

  2. 承認されたロール(テクニカルサポート、モデレーター、管理者など)によって選択された絵文字で応答された場合

そこから、そのDiscordスレッドでのその後のコメントは自動的にフォローされ、同じ親Discourseトピックへの応答として投稿されます。(注:ユーザーアカウントが存在することは重要ではありません。「システム」または指定されたボットとして送信しても構いませんが、投稿本文に発信元のユーザー名を記載することができれば十分です)

これらの要件に基づいて、いくつか質問があります。

  1. このトピックのボットはこれに対応できますか?

  2. もしそうでない場合、どの部分がまだ対応できていないか、または計画されていないですか?(スレッドは「作業中」であることがわかりましたが、財務的な優先順位の問題であれば、実現のために十分なバウンティを投稿できます)

  3. 開発のためにバウンティを投稿する必要がある場合、コミッションの適切な方法はありますか?要件と期待(コスト、タイムラインなど)は何ですか?

これまでの(そしてすべての!)皆さんの仕事に感謝しており、タイムリーなご返信をお待ちしております。

〜キャロット

こんにちは @carrotcypher さん、

この無料プラグインは、私(Pavilion の一部として)がベストエフォートで保守しています。

ロードマップはなく、機能に関する作業は外部スポンサーがいる場合にのみ行われます。

あなたのユースケースは興味深いですね。

この「ボット」は、この Ruby gem に依存しており、これは重要な依存関係です。

まだ公式リリースでスレッディングをサポートしていませんが、メインブランチにいくつかのサポートが追加されたようですが、どの程度かはわかりません。それを調査し、彼らがいつかリリースを計画しているかどうかを話し合うのは、それ自体でかなりの作業になります。彼らのドキュメントは、各リリース時にのみ更新されます。メインブランチでサポートされているだけでは不十分で、理想的には gem を更新する必要があります。

このプロジェクトに真剣に取り組むのであれば、まず Pavilion のプロジェクト管理チームにプロジェクトについて相談することをお勧めしますが、もちろん Marketplace で自由に投稿してください。

ここに行って、連絡先をヒットし、指示に従ってください: https://pavilion.tech/solutions/

「いいね!」 1

@merefield こんにちは、プラグインをインストールしましたが、サーバーでボットがコマンドに応答しません。
「The Discourse admin bot has started his shift!」というメッセージは正しく表示されますが、その後何も反応しません。

奇妙なことに、Discordでダイレクトメッセージを送信すると機能します。サーバーの権限を確認しましたが、正しく設定されているようです(ボットに管理者権限を付与しました)。

おかしいですね。最新のDiscourseでも確認しましたが、動作しています。

Discordで「Ping!」(大文字小文字は重要です)と入力するとどうなりますか?

ログを確認して、エラーメッセージは出ていませんか?

Ping! には反応しません(ダイレクトメッセージでは動作します)

ログ

設定内のトークンに何らかの問題が発生しているようです。

特殊文字を入力したか、あるいは何も入力しなかったということはありませんか?

image

諦めました。どうせ私のユースケースには適したツールではなかったと思います。
なぜうまくいかなかったのか分かりません。注意深く何度も試しました。
もしかしたらDiscordがおかしいのでしょうか?
とにかく、助けようとしてくれてありがとう。

「いいね!」 1

機能的には何をしようとしていましたか?

はい、良い解決策です。必要なコマンドは次のとおりです。

::DiscordBot::Bot.discord_bot.stop

これにより、レールコンソールセッションの追加のボットが停止し、現在のメインサーバーのボットは実行されたままになります。

@satonotdead さん、この解決策が気に入るかもしれません。

この情報をOPに追加しました。

「いいね!」 2

申し訳ありませんが、投稿をもう一度確認したところ、誤ったアドバイスをしたことに気づきました。その後、Discourseのイベントに応答するフックを実装し、Discordで動作させることができます。これらのいくつかはすでに役立つ可能性があり、この手法は他のイベントにも拡張できます。

「いいね!」 1

スポンサーの皆様、そして @RGJ の皆様のご協力に感謝し、いくつかの重要なアップデートをお届けします。

  • FEATURE; 既存の !disccopy コマンドを拡張・改善することで、個別の Discord スレッドを Discourse に簡単にコピーできるようになります。
  • IMPROVE: プラグインを最新の discordrb コード (3.5.0) に更新しました。
  • FEATURE: マルチサイトをサポートしました (@RGJ さん、ありがとうございます!!)
  • FEATURE: トークンが変更された場合や、有効になった場合にボットスレッドを再起動します (ホストサーバーを再起動する必要はありません) (@RGJ さん、重ねてありがとうございます!!)

@klausagnoletti@Fma965 この API アップデートにより、API を介して Discord スレッドとやり取りできるようになりました。これは基本的に追加の「チャンネル」です。

「いいね!」 2

ついに!

プロセス*の不適切なタイミングでボットが起動するのを防ぐ、動作するチェックが追加されました!

以下のような場合には、新しいボットは起動しなくなります。

  • データベースの変更を移行している場合
  • Railsコンソールを開いている場合(そのため、停止する必要がなくなりました)。

これにより、再構築時のボットのチャッターが少なくとも50%削減され、ボットは現在2回だけアナウンスするはずです:sweat_smile:

この最新の変更で問題が発生した場合はお知らせください。

提案してくれた@RGJさんに感謝します!:pray:

\u003csup\u003e*ほとんどの場合!:slight_smile:

「いいね!」 1

最近の変更点をお知らせします。

  • FIX: メッセージの自動同期(Discord → Discourse)を修正しました。これは前回のアップデートから壊れていたようです!!
  • FEATURE: Discord埋め込みの自動同期のサポートを追加しました。

お楽しみください!

スクリプト、素晴らしい出来栄えですね!ありがとうございます。いくつか質問があります。

ボットはどのくらいの頻度でロールのメンバーを同期しますか? Discourseをセットアップしたばかりで、これが最初にインストールしたプラグインの1つでした。wwwでグループを作成し、自分を追加しました。そして、手動で「!discsync」と入力すると、私の名前にDiscordタグが問題なく追加されます。wwwのグループから自分を削除したり、他の誰かを追加したりするとどうなるでしょうか?「!discsync」を手動でDiscordに入力しない限り、何も起こりません。これは意図したとおりですか、それとも数分ごと、10分ごとに同期されるべきですか?

手動です。

このフォークを参照できます: Discord Sync: sync a Discourse forum with a Discord server しかし、これはメンテナンスされておらず、壊れていると思います(その人にPRを依頼しましたが、まあ!)。

より自動化されたソリューションを自由にPRするか、私を雇って作業することもできます。または Marketplace

結局のところ、これは「組み立てキット」ですから :slight_smile: