Recientemente comencé a usar TypeScript y, como todos saben, Discord.js se mudó recientemente a v13. Después de esto, he estado luchando por encontrar una manera de enviar mensajes a un canal específico utilizando una ID de canal determinada. Aquí está el código actual que uso:
// Define Channel ID const messageChannelId = 'CHANNEL_ID'; // Define Channel const messageChannel = client.channels.cache.get(messageChannelId); // Send Message to Channel if (messageChannel && messageChannel.type === 'GUILD_TEXT') messageChannel.send('Hello World'); Por extraño que parezca, el siguiente código funciona bien y envía el mensaje 'Hello World' al canal, pero siempre termino con un error de intellisense cuando paso el cursor sobre el método de envío que dice que Property 'send' does not exist on type 'Channel' en el código de Visual Studio. Si alguien sabe por qué sucede esto, o tiene una solución a este error, por favor hágamelo saber. La documentación de Discord.js no muestra el método de envío en el tipo de canal, pero aún permite que funcione y no sé cómo evitarlo.
Gracias por cualquier ayuda.
El método de send no es del tipo Channel . Es del tipo TextChannel . client.channels.cache.get devuelve un Channel , ¡ya que también podría ser un canal de voz! Tendrá que agregar as TextChannel para eliminar ese error
const { TextChannel } = require('discord.js') // Define Channel const messageChannel = client.channels.cache.get(messageChannelId) as TextChannel;