Bots prontos
Três bots completos do repositório (boas-vindas, tickets e música) para usar como ponto de partida.
O repositório do vsync traz três projetos prontos, todos com a mesma estrutura de pastas. Rode-os como estão ou copie o código como base para o seu bot.
Bot de boas-vindas pronto#
A pasta bot/ do repositório é um bot completo que usa tudo acima. Ele traz:
/painel(só para quem tem Gerenciar servidor): posta uma mensagem pública com embed, botões (Aceitar as regras, Regras, Ajuda, Enviar feedback, Site) e um menu de interesses.- "Aceitar as regras" dá o cargo configurado (união com os cargos atuais), com mensagens claras quando a hierarquia impede.
- "Enviar feedback" abre um modal e o envio vira um embed no canal de feedback.
/configguarda por servidor o cargo de membro, os canais e o texto de boas-vindas (com{usuario},{servidor}e{membros}) embot/data/config.json.- Em
GUILD_MEMBER_ADD, posta no canal de boas-vindas a mensagem com a menção nobody, um embed "Novo membro!" e o botão "Dar as boas-vindas". /clear quantidade:N(1 a 100, exige Gerenciar mensagens de quem usa e do bot): lista as últimas mensagens comGET .../messages(até 50 por página,beforepara a página anterior), apaga comDELETE .../messages/:mcinco por vez, respeitando o429, e termina com uma mensagem pública com a contagem real.
Link de convite com só as permissões necessárias (MANAGE_MESSAGES só importa para o /clear):
https://vsync.lat/oauth2/authorize?client_id=ID_DO_APP&scope=bot&permissions=VIEW_CHANNEL,SEND_MESSAGES,MANAGE_ROLES,MANAGE_MESSAGESPara rodar: cd bot, npm install, copie .env.example para .env, cole o token e use npm start. No bot/README.md estão o passo a passo, a estrutura de pastas e como adicionar comandos, botões, menus e modais. O botão "Site" do painel só aparece se PANEL_LINK_URL for https.
Bot de tickets pronto#
A pasta bot-tickets/ do repositório é um bot de suporte completo, com a mesma estrutura do bot/. Ele traz:
/ticket-setup(só para quem tem Gerenciar servidor): guarda o cargo da equipe, a categoria, o canal de logs e o limite de tickets por pessoa, e posta o painel fixo com o botão "Abrir ticket". Rodar de novo edita o painel.- Botão "Abrir ticket": abre um modal (assunto, descrição, prioridade) e cria um canal privado
ticket-0001-usuariocom as permissões do canal (PUT .../overwrites):@everyonenão vê, e só o autor, a equipe e o bot veem. - No ticket: botões Fechar (com motivo opcional e confirmação), Assumir, Adicionar usuário e Transcrição, e o comando
/ticket acao:<adicionar, remover, renomear, fechar, transcricao, prioridade>. - Ao fechar, o bot lê o histórico com
GET .../messages, posta o resumo e a transcrição no canal de logs e exclui o canal. /ticket-stats: abertos, fechados, tempo médio e tickets assumidos por membro da equipe. Tudo fica embot-tickets/data/tickets.json.
Link de convite com só as permissões necessárias (MANAGE_ROLES é o que a API exige para mudar quem vê um canal; deixe o cargo do bot acima do cargo de suporte):
https://vsync.lat/oauth2/authorize?client_id=ID_DO_APP&scope=bot&permissions=VIEW_CHANNEL,SEND_MESSAGES,MANAGE_CHANNELS,MANAGE_ROLESPara rodar: cd bot-tickets, npm install, copie .env.example para .env, cole o token e use npm start. No bot-tickets/README.md estão o passo a passo, os comandos e a solução de problemas.
Bot de música pronto#
A pasta bot-musica/ do repositório é um bot de música completo que usa a voz para bots acima, com a mesma estrutura do bot/ e do bot-tickets/. Ele traz:
/tocar fonte:<link ou busca>,/radio,/pular,/pausar,/continuar,/parar,/sair,/fila(com páginas),/tocando,/volume nivel:<0-150>,/loop modo:<nenhum, faixa, fila>,/embaralhare/remover posicao:<n>.- Um painel "Tocando agora" com botões (pausar/continuar, pular, parar, loop, embaralhar) e um botão que abre um modal para adicionar músicas.
- Fontes: links diretos de áudio, rádios (Icecast/Shoutcast,
.pls,.m3u, HLS) e uma lista de rádios emradios.default.json. YouTube e outros sites só funcionam se você definirYTDLP_PATH, o que viola os Termos de Serviço do YouTube e fica por sua conta e risco. - Cada ouvinte recebe um fluxo próprio de ~96 kbps (malha WebRTC): 20 ouvintes custam cerca de 2,4 Mbps de upload.
Link de convite com só as permissões necessárias:
https://vsync.lat/oauth2/authorize?client_id=ID_DO_APP&scope=bot&permissions=VIEW_CHANNEL,SEND_MESSAGES,CONNECTPara rodar: cd bot-musica, npm install, copie .env.example para .env, cole o token e use npm start. No bot-musica/README.md estão as limitações, as variáveis de ambiente, como adicionar rádios e a solução de problemas (por exemplo, sem som costuma ser firewall ou falta de TURN).