Выполнение действия при каждом входе пользователя, чтение данных из регистрации OAuth2 и обновление аватаров пользователей

Привет,

Мне поручили написать плагин для Discourse для лучшей интеграции с системами конкретного сообщества. Я пытаюсь создать плагин, который автоматически меняет аватар и имя пользователя в зависимости от определенной информации, которую должна предоставлять система Discord OAuth2 (в основном, Discord ID пользователя).

В основном меня интересуют следующие вопросы:

  • Как заставить Ruby «слушать» событие, когда пользователь присоединяется к форуму через Discord (единственный разрешенный способ входа на форум — Discord);
  • Как получить информацию о Discord ID пользователя;
  • Как вручную обновить аватар и имя пользователя.

Мне не удалось найти предыдущие темы или документацию по этому вопросу, но, возможно, я просто искал не там. Если это так, пожалуйста, направьте меня к правильной теме/ссылке.

Заранее спасибо!
Sxribe