このプラグインは自動で動作し、コマンドは存在しません。汎用的な Discord ボットフレームワークをお探しの場合は、このプラグインの基盤となった @merefield の ボット構築キット をご覧ください。
Discord 同期 Discourse フォーラムと Discord サーバーを同期 
このプラグインは、Discourse フォーラムインスタンスと Discord サーバー間で、ユーザーに関連する特定の情報を同期できます。Discord ボットを作成し、すべての権限を管理し、サーバー内の特定のアクションをトリガーします。
機能
-
Discourse グループを Discord ロールに同期
Discourse でのユーザーのグループアクセスに基づいて、Discord サーバー内のロールを自動的に管理します。-
検証済みロール
Discord アカウントをリンクしたすべての Discord ユーザーに付与される「検証済みロール」を追加できます。 -
安全なロール
このプラグインは、Discord のロールを Discourse のグループと一致させるように強制するため、ボットが無視し、Discord サーバーで手動で管理できるロールのリストを設定できます。
-
-
Discourse ユーザー名を Discord ニックネームに同期
フォーラムのユーザー名でユーザーを認識したい場合、Discourse でのユーザー名と同じ Discord サーバーのニックネームを持つように強制できます。
トリガー
このプラグインは、以下のケースでニックネームとロールを含む完全な Discourse から Discord への同期を実行します。
- Discourse
- ユーザーがグループに追加された
- ユーザーがグループから削除された
- ユーザープロフィールが更新された
ユーザー名とニックネームの同期を意図しています - ユーザーが認証された
認証プロバイダーが Discord の場合のみ実行され、アカウントリンク直後に最初の同期が確実に実行されます
- Discord
- ユーザーが Discord サーバーに参加した
データベース内で指定された Discord ID を持つユーザーを検索し、同期ジョブを実行します
- ユーザーが Discord サーバーに参加した
インストール
このプラグインは、Discourse と Discord のアカウントを識別およびリンクするために Discord OAuth2 に依存しています。ユーザーに Discord でのログインを許可したくないが、アカウントリンクを維持したい場合は、このトピックの解決策 を確認してください。
前提条件
このプラグインには libsodium(Discord Ruby gem が必要)が必要です。インストールするには、.yml ファイルを編集し、以下のコードを追加してください。
hooks:
before_code:
- exec:
cmd:
- apt-get update
- apt-get install -y libsodium-dev
インストール手順
- このリポジトリ URL
https://github.com/barreeeiroo/discourse-discord-sync.gitを使用して、プラグインのインストール方法 の標準ガイドに従ってください。 - Discourse インスタンスで Discord でのログインを設定するには、このガイド に従ってください。
- Discord 開発者ポータルで「Bot」に進み、サーバーに追加してください。最高権限のロールを付与することを確認してください。
- Discourse の「プラグイン設定」で、前のステップに表示されたボットトークンを
discord sync tokenに設定してください。
設定オプション
discord sync enabled: 統合を有効にするかどうかdiscord sync token: Discord からのボットトークンdiscord sync prefix: コマンドのプレフィックス(現在は!pingのみ)discord sync admin channel id: ログメッセージ(ニックネーム変更、ロール変更)を投稿するチャンネルdiscord sync username: true の場合、すべての Discord サーバーのニックネームを Discourse のユーザー名に同期しますdiscord sync verified role: Discourse アカウントを持つすべてのユーザーに追加するロールdiscord sync safe roles: ボットが無視し、Discord で手動付与としてマークするロールのリスト
使い方
アカウントをリンクするには、Discord での認証をユーザーに許可している場合、そのプロバイダーを使用するだけです。許可していない場合は、アカウント設定に進み、関連アカウントまでスクロールして、Discord 行の接続をクリックしてください。
ライブデモ
現在、Kodular Community の Discourse インスタンスでこのプラグインを使用しており、Discord サーバーは kodul.ar/discord にあります。
謝辞
-
Discourse Bot、@merefield 作
このプラグインの骨格を提供してくれた Robert に心から感謝します。Discourse インスタンス内で Discord ボットを実行するための基盤を確立するのを確かに助け、libsodiumのインストールに関する彼のトリックにも称賛を送ります。 -
Discourse Discord Sync、@angus 作
ボットを必要とせずに信頼レベルを Discord ロールに同期するための代替案。 -
Login with Discord、Discourse チーム作
このプラグインは、Discord OAuth2 統合(以前はプラグイン)がなければ不可能でした。これにより、Discourse と Discord の両方のアカウントをリンクできます。- Partially enable login option、@Falco と @Roman 作
Falco と Roman に感謝します。認証オプションを有効にすることなく、アカウントを「リンク」するためのログインプロバイダーを有効にするオプションを提供してくれたからです。
- Partially enable login option、@Falco と @Roman 作
-
discordrb
このプラグインは、Ruby を使用して Discord API に接続できるdiscordrbgem に依存しています。