ユーザーがサインオンするたびに何かを実行し、OAuth2サインアップから情報を読み取り、ユーザーアバターを更新する

こんにちは、

Discourse のプラグインを作成し、特定のコミュニティのシステムとの連携を強化するよう依頼されました。Discord OAuth2 システムから提供される特定の情報(主にユーザーの Discord ID)に基づいて、自動的にユーザーのアバターとユーザー名を変更するプラグインを作成しようとしています。

主に以下の点について知りたいと考えています:

  • ユーザーが Discord を介してフォーラムに参加した「イベント」を Ruby でどのように監視できるか(このフォーラムでは Discord 以外のサインイン方法は許可されていません)
  • ユーザーの Discord ID に関する情報をどのように取得するか
  • ユーザーのアバターと名前をどのように手動で更新するか

以前にこの話題に関するトピックやドキュメントは見つけられませんでした。もしかすると、適切な場所を探せていないだけかもしれません。もしそうであれば、正しいトピックやリンクをご案内ください。

あらかじめありがとうございます!
Sxribe