Conceder uma insígnia não personalizada através do console

:bookmark: Este guia explica como conceder um emblema não personalizado através do console do Discourse.

:person_raising_hand: Nível de usuário necessário: Administrador do Sistema

:warning: Acesso ao console necessário

Em cenários específicos, você pode precisar conceder manualmente um emblema padrão do Discourse a um usuário pelo console. Por exemplo, um usuário pode não receber o emblema “Enthusiast” por visitar um fórum por 10 dias consecutivos, possivelmente devido à diferença de fuso horário entre o horário local do usuário e o UTC do servidor.

Esta documentação fornece um guia passo a passo sobre como conceder manualmente emblemas não personalizados usando o console do Rails, garantindo que esses emblemas não sejam revogados automaticamente.

Verificando emblemas revogáveis automaticamente

Antes de conceder um emblema, certifique-se de que ele não será revogado automaticamente pelo sistema. Execute o seguinte comando no console do Rails para obter uma lista desses emblemas:

Badge.where(auto_revoke: false).pluck(:name)

Este comando exibirá uma lista de emblemas não revogáveis automaticamente, incluindo:

  • “First Flag”
  • “Thank You”
  • “Gives Back”
  • “Empathetic”
  • “Out of Love”
  • “Higher Love”
  • “Crazy in Love”
  • “Aficionado”
  • “Devotee”
  • “Enthusiast”
  • “Reader”
  • “Anniversary”
  • “Appreciated”
  • “Respected”
  • “Admired”

Concedendo um emblema

Para conceder um emblema desta lista, siga estas etapas:

  1. Encontre o usuário pelo nome de usuário:

    Execute o seguinte comando, substituindo enthusiastic_user pelo nome de usuário real:

    user = User.find_by(username: 'enthusiastic_user')
    
  2. Localize o emblema pelo nome:

    Por exemplo, para encontrar o emblema “Enthusiast”, use:

    badge = Badge.find_by(name: "Enthusiast")
    
  3. Conceda o emblema ao usuário:

    Finalmente, conceda o emblema ao usuário com este comando:

    BadgeGranter.grant(badge, user)
    
17 curtidas