Basicamente, estou experimentando com os níveis de confiança. Com o nível de confiança 0, configurei para que seja possível fazer apenas uma postagem a cada 24 horas. Configurei o Patreon para que, ao se tornar um apoiador, você receba automaticamente o nível de confiança 1, o que significa que não há restrições para postagens. Então, fiz um teste com isso: criei um novo usuário que se inscreveu no Patreon e, com sucesso, ele foi incluído no grupo de Apoiadores, que concede o nível de confiança 1. No entanto, quando tento fazer com que esse usuário faça uma postagem agora, ainda é permitido postar apenas a cada 24 horas. Por que isso está acontecendo? Por que o trust_level_1 não está sobrescrevendo as restrições do trust_level_0 para este usuário?
Acabei de tentar isso e ainda não funciona.
Deixe-me voltar um pouco. Parece que o Patreon de fato atribuiu a esse usuário um nível de confiança 1. Na imagem que postei, mostra que o nível de confiança do usuário é “1 - usuário básico”, e isso mudou de “0 - novo usuário” apenas ao se cadastrar via Patreon.
Mas, independentemente do que o Patreon fez ou não fez, parece que, mesmo que eu coloque manualmente um usuário na categoria tl1, eles ainda estão restritos a postar a cada 24 horas, em vez de ter essa restrição removida.
Além disso, observe que configurei rate limit new user create topic para 86400, para que usuários com tl0 possam postar apenas a cada 24 horas. Será que é aqui que estou errando? Será que isso também está se aplicando a usuários tl1?
Essa será a causa do problema. O limite de taxa aplicado por essa configuração afeta tanto usuários do nível de confiança 0 quanto usuários do nível de confiança 1 que estão no site há menos de 24 horas.
Então você está dizendo que isso é um problema de limite de 24 horas em todos os níveis de confiança?
Por exemplo, e se eu promover o grupo do Patreon para o nível de confiança 2, 3 ou até 4? Isso contornaria o limite de taxa?
Não, o limite é aplicado aos usuários do nível de confiança 0 enquanto eles permanecem nesse nível. O limite é aplicado aos usuários do nível de confiança 1 durante suas primeiras 24 horas no site. O limite não se aplica aos usuários do nível de confiança 2. Se você conceder o nível de confiança 2 aos membros do seu grupo de Patrons, eles ignorarão o limite.
Principalmente para minha própria referência, a lógica utilizada para isso é:
def new_user?
(created_at >= 24.hours.ago || trust_level == TrustLevel[0]) &&
trust_level < TrustLevel[2] &&
!staff?
end

