Quiero obtener un canal con solo una identificación dada. Entonces, la forma en que describen los documentos es así: client.channels.cache.get('channel id') , y así es como lo estoy haciendo. Pero al imprimir el caché, veo que el mapa del caché está vacío (longitud = 0). La cuestión es que, al colocar el console.log(client.channels.cache) en el detector de eventos "listo" de mi cliente, se imprime.
Leí que este error podría aparecer si el cliente no inició sesión correctamente, pero este no puede ser el caso ya que llamo a la función con un comando y la consola inicia sesión en el detector de eventos "listo" se llama instantáneamente después de que se inicia el programa y funciona mejor.
Así que debe haber algo más que me estoy perdiendo.
Si conoce la ID del canal, simplemente puede fetch el canal por esta ID. Si está en caché, devuelve el canal en caché:
const channel = await client.channels.fetch(CHANNEL_ID) console.log(channel) fetch() devuelve una Promesa, por lo que deberá usar await en una función asíncrona, o then métodos.