Caso de uso interessante!
Eu acredito que você se sairia melhor com algumas mudanças:
Mover a expiração do banimento para um campo de tópico personalizado dedicado
Isso permitirá que você valide que todo banimento tem uma expiração ao criar um novo tópico e facilitará a consulta de banimentos expirados.
Você também pode usar nosso Apresentando Modelos de Formulário Experimentais, que também oferece acesso programático a dados específicos em um tópico.
Adicionar filtros personalizados /filter
Com o campo personalizado ou o modelo de formulário, agora é fácil adicionar novos filtros /filter, como banimentos expirados, banimentos arquivados, etc. Estes se tornariam suas principais listas de trabalho para moderadores e podem ser adicionados à barra lateral para facilitar o uso.
Automatizar banimentos como um todo?
A peça final seria fazer com que o Discourse criasse automaticamente os banimentos no Roblox e no Discord sempre que um tópico fosse criado, e também remover automaticamente os banimentos quando eles expirassem.
Isso é bem fácil de fazer com um trabalho recorrente e acesso à API.
Se você tiver um Configurar um Ambiente de Desenvolvimento Local do Discourse, você pode até mesmo passar minha postagem aqui como uma especificação para o Claude Code e ele a construirá em minutos.