Sistema de conquistas no Discord: como registrar certificações e conquistas personalizadas dos membros
Para registrar certificações e conquistas personalizadas no Discord, crie uma tabela de concessões: o membro, uma certificação escolhida de uma lista que você define, a data e quem concedeu. Só os instrutores podem escrever nela. O CordBase, que é feito por nós, transforma essa tabela em comandos de barra (slash commands), então qualquer pessoa pode conferir quem tem o quê. Ele registra concessões; ele não dá cargos.
Os próprios admins definem as certificações, então isso serve para um clã com patentes próprias, uma unidade de simulador de voo ou milsim com níveis de qualificação, um grupo de estudos com módulos concluídos ou qualquer comunidade que distribua os próprios emblemas. Nada vem pré-definido.
O que você vai ter no final
- Um comando
/certificationscom as açõesadd,query,view,updateedelete. - Uma linha por concessão, então um membro com três certificações tem três linhas.
- Uma lista de certificações que você edita na web sempre que inventar uma nova.
- Permissões para que instrutores registrem concessões, admins possam removê-las e membros só possam consultar.
Passo 1: crie a tabela de concessões
- Entre em cordbase.gg com o Discord, escolha seu servidor e adicione o bot quando for pedido.
- Crie uma tabela chamada "Certifications" (o comando vira
/certifications) com as colunas abaixo, nesta ordem.
- Member (membro, obrigatória): quem ganhou.
- Certification (opção, obrigatória): digite suas certificações como opções, por exemplo Basic Rescue, Instrument Rating, Squad Leader, Founding Member.
- Awarded on (data, obrigatória): no formato AAAA-MM-DD.
- Awarded by (membro, obrigatória): o instrutor.
- Record (texto, obrigatória): um rótulo curto, como "Thrain, Basic Rescue".
- Notes (texto, opcional): nota da prova, número da tentativa, um link para a comprovação.
- Expires on (data, opcional): só para certificações que vencem.
A ordem é proposital. Os resultados do query mostram só as quatro primeiras colunas, então as úteis vêm primeiro. A coluna Record existe porque o seletor de linhas do view, update e delete lista as linhas pela primeira coluna de texto da tabela, e sem uma coluna de texto o seletor acaba mostrando IDs brutos dos membros. Os nomes das opções no Discord vêm dos rótulos, em minúsculas e com sublinhados, por exemplo awarded_on.
O CordBase tem um template Controle de conquistas, mas ele guarda um membro "unlocked by" por linha e pontos por conquista. Uma tabela de concessões é mais simples quando muita gente ganha a mesma coisa.
Passo 2: deixe só os instrutores escreverem
Tabelas novas ficam abertas para todos, inclusive para excluir, então configure os cargos primeiro. Nas permissões da tabela, na web:
- Cargo de instrutor: escrita (pode usar
addeupdate). - Cargo de instrutor-chefe ou admin: admin (também
delete). - Um cargo que todo membro tem: leitura, para que os membros possam consultar.
Assim que qualquer cargo é configurado, membros sem um dos cargos da lista não conseguem usar a tabela. O acesso de escrita vale para todas as linhas, não só as do próprio instrutor, e Administradores do Discord sempre têm acesso total. Veja tabelas e permissões para os detalhes.
Passo 3: registre uma concessão
/certifications add member:@Thrain certification:Basic Rescue awarded_on:2026-10-10 awarded_by:@Priya record:Thrain, Basic Rescue notes:Passed practical, second attempt expires_on:2027-10-10
A certificação é um menu com as suas opções, então a grafia fica consistente. O view mostra quem rodou o comando e quando, o que serve para conferir o campo "awarded by" digitado. Para corrigir um erro ou definir um vencimento depois, rode /certifications update e escolha a linha na lista. Para adicionar uma certificação nova, edite a tabela na web e adicione uma opção; o comando é atualizado depois que você salva.
Passo 4: consulte
- Quem tem uma certificação:
/certifications query certification:Basic Rescue - Tudo de um membro:
/certifications query member:@Thrain - Esse membro tem a certificação:
/certifications query member:@Thrain certification:Basic Rescue - Tudo completo, incluindo notas e vencimento:
/certifications viewe escolha a linha.
Os filtros se combinam. Os resultados vêm dos mais novos para os mais antigos, 10 por padrão e até 25 com limit, sem paginação. As respostas são postadas no canal onde o comando é rodado, então rode os comandos de instrutor num canal de instrutores se os registros forem privados. Para a lista completa, o proprietário do servidor pode usar a tabela na web.
Quando outra coisa funciona melhor
- Cargos e permissões no Discord. O CordBase não dá nem remove cargos do Discord. Se uma certificação deve liberar um canal ou aparecer na lista de membros, dê o cargo manualmente no Discord ou use um bot de cargos como o Carl-bot, e mantenha o CordBase como o registro de quem concedeu o quê e quando.
- Concessões automáticas. Nada aqui concede por atividade ou nível. Um bot de níveis com recompensas de cargo serve para "chegou no nível 10, ganha o cargo".
- Cursos e provas de verdade. Se os membros precisam de aulas, quizzes e avaliações com nota, use uma plataforma de ensino como o Moodle e registre a aprovação aqui se quiser que ela apareça no Discord.
Limites que vale conhecer
- Vencimento é só uma data. O CordBase não lembra ninguém nem marca certificações vencidas, e as datas são guardadas como foram digitadas, sem validação. Filtros de data buscam um dia exato, então não dá para pedir tudo que vence neste mês. Posts agendados (planos pagos) postam um resumo da tabela, não alertas por linha.
- 25 certificações por lista. O Discord limita uma lista de opções a 25. Passou disso, divida em duas tabelas de concessões.
- Limites dos planos. O Free tem 2 tabelas e 100 linhas cada, e cada concessão é uma linha. O Pro (US$ 8/mês) tem tabelas ilimitadas, 10.000 linhas por tabela. O Max (US$ 15/mês) tem 50.000 linhas. Exportação em CSV e JSON está em todos os planos. Veja os preços.
- Sem ranking, a não ser que você adicione uma coluna de número, como horas ou pontos.
- As tabelas são criadas na web. Os membros não conseguem criá-las pelo Discord. Linhas excluídas são apagadas de vez depois de 30 dias.
Perguntas frequentes
O CordBase pode dar um cargo do Discord ao membro quando eu concedo uma certificação?
Não. Ele registra a concessão e não faz nada no sistema de cargos do Discord. Dê o cargo manualmente, ou use a tabela junto com um bot de cargos, e mantenha o CordBase como o registro de quem concedeu o quê.
Ele pode me lembrar quando uma certificação vence?
Não. A data de vencimento é uma coluna de data comum, que você consulta com view ou na tabela web. O CordBase não manda lembretes, e filtros de data buscam um dia exato. Confira a tabela com a frequência que você definir.
Os membros podem ver as próprias certificações?
Sim. Com acesso de leitura, um membro pode rodar query com o próprio nome na opção member. O acesso de leitura também permite consultar outros membros, então, se os registros forem privados, dê acesso só aos instrutores.