Fazendo algo a cada login de usuário, lendo informações do cadastro OAuth2 e atualizando avatares de usuários

Olá,

Me pediram para criar um plugin para o Discourse a fim de integrar melhor com os sistemas de uma comunidade específica. Estou tentando desenvolver um plugin que altere automaticamente o avatar e o nome de usuário com base em informações fornecidas pelo sistema Discord OAuth2 (principalmente, o ID do Discord do usuário).

Estou principalmente curioso sobre como:

  • Fazer o Ruby ouvir o “evento” em que um usuário entra no fórum via Discord (a única forma de login permitida para o fórum é o Discord)
  • Obter as informações sobre o ID do Discord do usuário
  • Atualizar manualmente o avatar e o nome do usuário

Não consegui encontrar tópicos ou documentação anteriores sobre isso, mas pode ser que eu esteja procurando no lugar errado. Se for o caso, por favor, me indique o tópico ou link correto.

Obrigado desde já!
Sxribe