Skip to main content

Overview

The r!status command displays comprehensive information about the bot’s current state, including voice connection, permissions, queue status, and system metrics.

Usage

r!status

Display Format

The status command returns a detailed embed with multiple information sections:

🤖 Estado del Bot Rosy


📊 Información del Bot

Nombre: Rosy

ID: 123456789…

Status: En línea


🎤 Micrófono/Voz

Estado: ✅ En canal de voz

Canal: Music

Permisos: Connect: ✅ | Speak: ✅


🎵 Cola de Reproducción

✅ Activa (5 canciones)

Information Sections

Bot Information

Nombre
string
Bot’s display name
ID
string
Bot’s Discord user ID
Status
string
Always shows “En línea” (online)

Voice Channel Status

Estado
string
✅ En canal de voz / ❌ No en canal de voz
Canal
string
Name of voice channel or “N/A”
Permisos
string
Connect and Speak permissions status

Queue Status

Cola de Reproducción
string
✅ Activa (X canciones) or ❌ Sin cola activa

Server Information

Nombre
string
Discord server name
ID
string
Server/guild ID
Miembros
number
Total member count

System Metrics

Latencia
number
WebSocket ping in milliseconds
Uptime
number
Bot uptime in seconds

Implementation

From commands/music/status.js:4-64:
async execute(message, args, client) {
    const voiceChannel = message.member.voice.channel;
    const guild = message.guild;
    
    // Bot information
    const botUser = client.user;
    const botMember = guild.members.cache.get(botUser.id);
    
    // Voice connection info
    let voiceStatus = voiceChannel ? '✅ En canal de voz' : '❌ No en canal de voz';
    let voiceChannelName = voiceChannel?.name || 'N/A';
    
    if (voiceChannel) {
        const perms = voiceChannel.permissionsFor(client.user);
        const hasConnect = perms.has('Connect');
        const hasSpeak = perms.has('Speak');
        voicePerms = `Connect: ${hasConnect ? '✅' : '❌'} | Speak: ${hasSpeak ? '✅' : '❌'}`;
    }

    // DisTube queue info
    const queue = client.distube.getQueue(guild);
    const queueStatus = queue ? `✅ Activa (${queue.songs.length} canciones)` : '❌ Sin cola activa';
    
    message.reply({
        embeds: [{
            color: 0x0099FF,
            title: '🤖 Estado del Bot Rosy',
            thumbnail: { url: botUser.displayAvatarURL({ size: 256 }) },
            fields: [
                {
                    name: '📊 Información del Bot',
                    value: `**Nombre**: ${botUser.username}\n**ID**: ${botUser.id}\n**Status**: En línea`,
                    inline: false
                },
                {
                    name: '🎤 Micrófono/Voz',
                    value: `**Estado**: ${voiceStatus}\n**Canal**: ${voiceChannelName}\n**Permisos**: ${voicePerms}`,
                    inline: false
                },
                {
                    name: '🎵 Cola de Reproducción',
                    value: queueStatus,
                    inline: false
                },
                {
                    name: '⚙️ Servidor',
                    value: `**Nombre**: ${guild.name}\n**ID**: ${guild.id}\n**Miembros**: ${guild.memberCount}`,
                    inline: false
                },
                {
                    name: '💻 Sistema',
                    value: `**Latencia**: ${client.ws.ping}ms\n**Uptime**: ${Math.round(client.uptime / 1000)}s`,
                    inline: false
                }
            ],
            footer: { text: 'Usa r!help para ver todos los comandos' }
        }]
    });
}

Status Indicators

Voice Status

✅ En canal de voz - Bot is connected
❌ No en canal de voz - Bot is not connected

Permissions

Connect: ✅ - Can join voice channel
Speak: ✅ - Can play audio
Connect: ❌ - Missing join permission
Speak: ❌ - Missing speak permission

Queue Status

✅ Activa (5 canciones) - Queue is active with song count
❌ Sin cola activa - No music in queue

Use Cases

Troubleshoot Issues

Check permissions when music won’t play

Verify Connection

Confirm bot is in voice channel

Check Queue

Quick view of how many songs are queued

Monitor Performance

View latency and uptime metrics

Example Outputs

Bot Connected and Playing

r!status

🤖 Estado del Bot Rosy

📊 Información del Bot
Nombre: Rosy
ID: 987654321012345678
Status: En línea

🎤 Micrófono/Voz
Estado: En canal de voz
Canal: Music
Permisos: Connect: | Speak:

🎵 Cola de Reproducción
 Activa (7 canciones)

⚙️ Servidor
Nombre: My Discord Server
ID: 123456789012345678
Miembros: 250

💻 Sistema
Latencia: 45ms
Uptime: 3600s

Bot Not Connected

r!status

🤖 Estado del Bot Rosy

📊 Información del Bot
Nombre: Rosy
ID: 987654321012345678
Status: En línea

🎤 Micrófono/Voz
Estado: No en canal de voz
Canal: N/A
Permisos: N/A

🎵 Cola de Reproducción
 Sin cola activa

⚙️ Servidor
Nombre: My Discord Server
ID: 123456789012345678
Miembros: 250

💻 Sistema
Latencia: 42ms
Uptime: 7200s

Permission Issues

🎤 Micrófono/Voz
Estado: En canal de voz
Canal: Music
Permisos: Connect: | Speak:

Troubleshooting with Status

Music Won’t Play

  1. Run r!status
  2. Check ”🎤 Micrófono/Voz” section
  3. Verify both Connect and Speak show ✅
  4. If ❌, grant permissions to bot role

High Latency

  1. Run r!status
  2. Check ”💻 Sistema” → Latencia
  3. Over 100ms may cause audio issues
  4. Consider bot hosting location

Bot Not Responding

  1. Run r!status
  2. Check ”📊 Información del Bot” → Status
  3. Verify “En línea”
  4. Check uptime for recent restarts

Data Sources

The status command retrieves data from:
1

Discord.js Client

Bot user info, guild data, member count
2

Voice Channel

User’s current voice channel and permissions
3

DisTube Queue

Active queue and song count
4

WebSocket

Latency and connection metrics
5

Process

Bot uptime from Node.js process
  • r!help - View all available commands
  • r!queue - Detailed queue view
  • r!play - Start playing music

Tips

Use r!status first when troubleshooting any music playback issues
If permissions show ❌, contact server admin to grant bot the required permissions
Latency under 50ms is excellent, 50-100ms is good, over 100ms may cause issues
If bot is not in voice channel but queue is active, something is wrong with the connection

Build docs developers (and LLMs) love