Estoy un poco atascado con esta parte del código. Actualmente estoy programando un bot de discordia para un proyecto escolar y para uso personal. El propósito principal del bot de discord es enviar incrustaciones y comandos casuales donde alguien dice "buenas noches" y el bot responde buenas noches. Para la parte del código de buenas noches, lo tengo bastante escrito correctamente, pero ¿cómo hago para que responda etiquetando la etiqueta de discordia de personas? como en lugar de que mi código actual sea else if (message.content === 'goodnight'){ message.channel.send('Goodnight!'); ¿Cómo haría para que dijera "Buenas noches @discordtag"?
En segundo lugar, la parte incrustada del código es lo que más me cuesta. Casi sigo las guías en https://discordjs.guide , así como algunos videos de YouTube, pero parece que no puedo encontrar la respuesta. Recibo el error "channel.send({ incrustaciones: [exampleEmbed] }); ^
TypeError: no se pueden leer las propiedades de undefined (leyendo 'enviar')
Mi código para la inserción de ejemplo es:
const channel = client.channels.cache.get('912186200910102559') const exampleEmbed = new MessageEmbed() .setColor('#5104DB') .setTitle("Boombap's Cookout Rules") .setAuthor({ name: 'Rules', iconURL: 'https://gridfiti.com/wp-content/uploads/2021/04/Gridfiti_Blog_AnimeCars_NissanSilviaS13.jpg'}) .addFields( { name: 'Rule 1', value: 'No racist, sexist or any type of hate speech towards other members.'}, { name: 'Rule 2', value: 'No scamming.'}, { name: 'Rule 3', value: 'No discussions of anything illegal, if you think it might be just do not mention it in the discord.'}, { name: 'Rule 4', value: 'No advertisements of other services.'} ) channel.send({ embeds: [exampleEmbed] });Para responder a la primera parte de su pregunta, puede mencionar al usuario por Goodnight ${message.author} o Goodnight <@${message.author.id}> - ambos devolverán el mismo valor (la mención de discordia).
channel no está definido, lo que significa que no hay atributo send() como sugiere el error. Puede obtener o almacenar en caché un canal para enviarlo a un canal específico, como
const channel = client.channels.cache.get('ID'); O use el channel de atributo en el message - mensaje.canal.send message.channel.send() DJS Docs: Mensaje: canal
¿Cómo se define el canal? Intente reemplazar canal con message.channel