vsyncDOCUMENTAÇÃO

Recursos de Plataforma

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.
  • /config guarda por servidor o cargo de membro, os canais e o texto de boas-vindas (com {usuario}, {servidor} e {membros}) em bot/data/config.json.
  • Em GUILD_MEMBER_ADD, posta no canal de boas-vindas a mensagem com a menção no body, 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 com GET .../messages (até 50 por página, before para a página anterior), apaga com DELETE .../messages/:m cinco por vez, respeitando o 429, 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):

Texto
https://vsync.lat/oauth2/authorize?client_id=ID_DO_APP&scope=bot&permissions=VIEW_CHANNEL,SEND_MESSAGES,MANAGE_ROLES,MANAGE_MESSAGES

Para 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-usuario com as permissões do canal (PUT .../overwrites): @everyone nã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 em bot-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):

Texto
https://vsync.lat/oauth2/authorize?client_id=ID_DO_APP&scope=bot&permissions=VIEW_CHANNEL,SEND_MESSAGES,MANAGE_CHANNELS,MANAGE_ROLES

Para 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>, /embaralhar e /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 em radios.default.json. YouTube e outros sites só funcionam se você definir YTDLP_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:

Texto
https://vsync.lat/oauth2/authorize?client_id=ID_DO_APP&scope=bot&permissions=VIEW_CHANNEL,SEND_MESSAGES,CONNECT

Para 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).