- 🎯 Introdução
- ⚡ Recursos Principais
- 🛠️ Tecnologias
- 📦 Instalação
- ⚙️ Configuração
- 🏗️ Estrutura do Projeto
- 🤖 Comandos
- 🎮 Funcionalidades Avançadas
- 🔧 Modelos de Dados
- 📊 Sistema de Logs
- 🚀 Execução
- 🤝 Contribuição
- 📄 Licença
O Lo-Fi Radio Jow é um bot Discord premium desenvolvido para proporcionar uma experiência musical imersiva e relaxante. Especializado em música Lo-Fi, oferece múltiplas estações temáticas, reprodução contínua 24/7 e recursos avançados de personalização, tornando-se a solução perfeita para criar ambientes sonoros únicos em servidores Discord.
- 14 Estações Temáticas: Lo-Fi Default, Study, Anime, Gaming, Sleep, Jazz, Synthwave, K-pop, Gospel e mais
- Reprodução 24/7: Música contínua sem interrupções
- Sistema de Favoritos: Colecione suas músicas preferidas
- Controle de Volume: Ajuste fino de 0 a 100%
- Sleep Timer: Temporizador inteligente para relaxamento
- Modo DJ: Sistema de permissões avançado
- Auto-Reconnect: Reconexão automática após quedas
- Sistema de Logs: Monitoramento completo de atividades
- Multi-Guild: Suporte a múltiplos servidores
- Embeds Responsivos: Interface visual elegante
- Menus Interativos: Seleção fácil de estações
- Feedback Visual: Emojis e cores temáticas
- Status Dinâmico: Informações em tempo real
- Node.js v16+ - Runtime JavaScript
- Discord.js v14.16.3 - API Discord
- MongoDB - Banco de dados NoSQL
- Mongoose v8.8.3 - ODM MongoDB
- Kazagumo v3.2.1 - Gerenciador de áudio
- Shoukaku v4.1.1 - Wrapper Lavalink
- Kazagumo-Spotify v2.1.0 - Integração Spotify
- Lavalink v2.13.0 - Servidor de áudio
- Winston v3.17.0 - Sistema de logs
- Moment v2.30.1 - Manipulação de datas
- Chalk v5.4.1 - Cores no terminal
- Dotenv v16.4.5 - Variáveis de ambiente
# Verifique as versões
node --version # v16 ou superior
npm --version # v8 ou superiorgit clone https://github.com/jonathasfrontend/lofiradiojow.git
cd lofiradiojownpm installCrie um arquivo .env na raiz do projeto:
# Discord Bot
TOKEN=SEU_TOKEN_DO_BOT_DISCORD
# MongoDB
MONGO_URI=mongodb://localhost:27017/lofiradiojow
# Spotify (Opcional)
SPOTIFY_CLIENT_ID=SEU_CLIENT_ID_SPOTIFY
SPOTIFY_CLIENT_SECRET=SEU_CLIENT_SECRET_SPOTIFY
# Lavalink
NODE_URL=ws://localhost:2333
NODE_AUTH=youshallnotpass
NODE_SECURE=falseCertifique-se de ter um servidor Lavalink rodando:
# application.yml (Lavalink)
server:
port: 2333
address: 0.0.0.0
lavalink:
server:
password: "youshallnotpass"
sources:
youtube: true
bandcamp: true
soundcloud: true
twitch: true
vimeo: true
http: true
local: falseConfigure uma instância MongoDB local ou remota. O bot criará automaticamente as coleções necessárias.
📁 Lo-Fi Radio Jow/
├── 📄 package.json # Configurações do projeto
├── 📄 README.md # Documentação
├── 📄 LICENSE # Licença
├── 🖼️ lofi.png # Logo do bot
├── 🖼️ bg.png # Background
├── 📁 emote/ # Emojis personalizados
│ ├── 🎵 radio.png
│ ├── ❤️ heart.png
│ ├── 🔊 loud.png
│ └── ...
├── 📁 src/
│ ├── 📄 index.js # Arquivo principal
│ ├── 📄 Client.js # Cliente Discord
│ ├── 📄 Logger.js # Sistema de logs
│ ├── 📁 commands/ # Comandos do bot
│ │ ├── 📁 Music/ # Comandos musicais
│ │ │ ├── 🎵 Play.js # Iniciar reprodução
│ │ │ ├── 📻 station.js # Trocar estação
│ │ │ ├── ⏹️ stop.js # Parar música
│ │ │ ├── 🎶 song.js # Info da música
│ │ │ ├── 🔊 volume.js # Controle de volume
│ │ │ └── 😴 sleep.js # Timer de sono
│ │ ├── 📁 Information/ # Comandos informativos
│ │ │ └── ❓ ajuda.js # Sistema de ajuda
│ │ ├── 📁 profile/ # Perfil do usuário
│ │ │ └── ⭐ collection.js # Músicas favoritas
│ │ ├── 📁 Settings/ # Configurações
│ │ │ └── ⚙️ mode.js # Modos do bot
│ │ └── 👋 Oi.js # Comando de saudação
│ ├── 📁 config/ # Configurações
│ │ ├── 🎵 kazagumo.js # Config do player
│ │ └── 🗄️ bdServerConect.js # Conexão MongoDB
│ ├── 📁 functions/ # Funções utilitárias
│ │ └── 📊 statusBot.js # Status do bot
│ ├── 📁 logs/ # Arquivos de log
│ │ ├── 📄 bot.log
│ │ ├── 📄 error.log
│ │ └── ...
│ ├── 📁 models/ # Modelos MongoDB
│ │ ├── 📻 station.js # Estações por servidor
│ │ ├── 🎧 dj.js # Sistema DJ
│ │ ├── ⚙️ mode.js # Modos do bot
│ │ ├── 🎵 playlist.js # Playlists dos usuários
│ │ └── 🔄 autoReconnect.js # Auto-reconexão
│ ├── 📁 songs/ # Estações musicais
│ │ ├── 🎵 default.json # Lo-Fi Default
│ │ ├── 📚 study.json # Study Lo-Fi
│ │ ├── 🌸 anime.json # Anime Lo-Fi
│ │ ├── 🎮 gaming.json # Gaming Lo-Fi
│ │ ├── 😴 sleep.json # Sleep Lo-Fi
│ │ ├── 🌆 synthwave.json # Synthwave
│ │ ├── ⛩️ japanese.json # Japanese Lo-Fi
│ │ ├── 🇰🇷 kpop.json # K-pop Lo-Fi
│ │ ├── 🎷 jazz.json # Lo-Fi Jazz
│ │ ├── 🎤 covers.json # Lo-Fi Covers
│ │ ├── 🎄 christmas.json # Christmas Lo-Fi
│ │ ├── ✨ mix.json # Lo-Fi Mix
│ │ ├── 🎃 halloween.json # Halloween Lo-Fi
│ │ └── ✝️ gospel.json # Gospel Lo-Fi
│ └── 📁 utils/ # Utilitários
│ └── ⚙️ options.js # Opções do bot
| Comando | Descrição | Uso |
|---|---|---|
/play |
Inicia reprodução 24/7 no canal de voz | /play |
/station |
Abre menu para trocar estação | /station |
/stop |
Para a música e desconecta o bot | /stop |
/song |
Exibe informações da música atual | /song |
/volume |
Ajusta volume (0-100) | /volume [valor] |
/sleep |
Ativa timer de sono + estação Sleep | /sleep [minutos] |
| Comando | Descrição | Uso |
|---|---|---|
/ajuda |
Mostra lista completa de comandos | /ajuda |
/oi |
Saudação interativa do bot | /oi |
| Comando | Descrição | Uso |
|---|---|---|
/collection |
Visualiza suas músicas favoritas | /collection |
| Comando | Descrição | Uso |
|---|---|---|
/mode |
Configura modos do bot (Auto-reconnect, DJ) | /mode |
/djmode-add |
Adiciona um cargo DJ autorizado para usar funções de DJ. | /djmode-add [role] |
/djmode-remove |
Remove todos os cargos DJ do servidor atual. | /djmode-remove |
/djmode-toggle |
Alterna entre habilitar ou desabilitar o modo DJ no servidor. | /djmode-toggle [djOn ou djOff] |
| Estação | Emoji | Descrição |
|---|---|---|
| Default | 📻 | Lo-Fi clássico e relaxante |
| Study | 📚 | Foco e concentração para estudos |
| Anime | 🌸 | Lo-Fi com temas de anime |
| Gaming | 🎮 | Energético para sessões de jogos |
| Sleep | 😴 | Suave e calmante para dormir |
| Jazz | 🎷 | Fusão de jazz com Lo-Fi |
| Synthwave | 🌆 | Synthwave retrô atmosférico |
| Japanese | ⛩️ | Instrumentais japoneses Lo-Fi |
| K-pop | 🇰🇷 | K-pop remixado em estilo Lo-Fi |
| Covers | 🎤 | Covers acústicos e Lo-Fi |
| Christmas | 🎄 | Especial natalino (sazonal) |
| Mix | ✨ | Mixtape variada de estilos |
| Halloween | 🎃 | Atmosfera sombria (sazonal) |
| Gospel | ✝️ | Música gospel em estilo Lo-Fi |
- Funcionalidade: Restringe comandos musicais a usuários com cargos específicos
- Configuração: Via comando
/mode - Benefício: Controle de permissões em servidores grandes
- Funcionalidade: Reconecta automaticamente após quedas de conexão
- Configuração: Ativação via comando
/mode - Benefício: Música ininterrupta mesmo com instabilidades
- Curtir Músicas: Adicione músicas à sua coleção pessoal
- Visualização: Interface paginada para navegar pelos favoritos
- Persistência: Dados salvos permanentemente no MongoDB
{
Guild: String, // ID do servidor
Radio: String, // Estação atual
oldradio: String // Estação anterior
}{
UserId: String, // ID do usuário
PlaylistName: String, // Nome da playlist
Playlist: Array // Lista de músicas
}{
Guild: String, // ID do servidor
Roles: Array, // Cargos com permissão DJ
Mode: Boolean // Status do modo DJ
}{
Guild: String, // ID do servidor
TextChannel: String, // Canal de texto
VoiceChannel: String, // Canal de voz
Mode: Boolean // Status auto-reconnect
}| Tipo | Arquivo | Descrição |
|---|---|---|
| Info | bot.log |
Atividades gerais do bot |
| Error | error.log |
Erros e exceções |
| Music | bot.log |
Eventos musicais específicos |
| Warn | warn.log |
Avisos e alertas |
{
timestamp: "2025-07-09T15:30:45.123Z",
level: "info",
message: "Comando play executado",
context: {
command: "play",
user: "usuario#1234",
guild: "Meu Servidor"
}
}npm run devUsa nodemon para hot-reload automático
npm startInicia o bot com Node.js padrão
# Verificar logs em tempo real
tail -f src/logs/bot.log
# Verificar status do MongoDB
mongo --eval "db.adminCommand('ismaster')"
# Testar conexão Lavalink
curl -H "Authorization: youshallnotpass" http://localhost:2333/v4/info- Fork o repositório
- Clone sua fork:
git clone https://github.com/SEU_USUARIO/lofiradiojow.git
- Crie uma branch para sua feature:
git checkout -b feature/nova-funcionalidade
- Commit suas mudanças:
git commit -m "Adiciona nova funcionalidade X" - Push para sua branch:
git push origin feature/nova-funcionalidade
- Abra um Pull Request
- Mantenha o código limpo e documentado
- Siga os padrões existentes do projeto
- Teste suas mudanças antes de enviar
- Atualize a documentação se necessário
- 🎵 Novas estações musicais
- 🛠️ Melhorias de performance
- 🎨 Interface de usuário
- 📝 Documentação
- 🧪 Testes automatizados
Este projeto está licenciado sob a Licença JoSSO – Projetos de Jonathas Oliveira.
Jonathas Oliveira
- 📧 Email: jonathass56778@gmail.com
- 🌐 GitHub: @jonathasfrontend
