Alguno me echa una mano con este script?

Tencru
const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
    if (msg.author.bot) return;

resend(msg);
function resend(msg){
    let words = ['#qwerty', 'asdf'];
    let author = msg.author.id;
    let content = msg.content;
    let chan = msg.channel;
    let wordsStr = words.join('|');
    let regex = new RegExp('('+wordsStr+')', 'g');
    if(msg.content.match(regex)){
        content = content.replace(regex, '' );
        msg.delete().then(() => {
            chan.send( new Discord.RichEmbed()
                            .setDescription(content)
                            .setColor(0x4cff00)
            );
        }).catch((e) => {console.error(e);});
    }
}
});
//client.login('token');
client.login('NDQ0MjY5OTgklVz107oc7oEEcgM');

Quiero añadirle que si en el mensaje principal aparezca esta url https://t.co/4234jhg2 la cambie por esta https://hola.es/

bazoo
let mensaje = 'balblablalba https://t.co/4234jhg2';
mensaje = mensaje.replace('https://t.co/4234jhg2', 'https://hola.es/');
1 respuesta
Tencru

#2

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
    if (msg.author.bot) return;

resend(msg);
function resend(msg){
    let words = ['qwerty', 'asdf'];
	let mensaje = ['https://t.co/4234jhg2'];
	mensaje = mensaje.replace('https://t.co/4234jhg2', 'https://hola.es/');
    let author = msg.author.id;
    let content = msg.content;
    let chan = msg.channel;
    let wordsStr = words.join('|');
    let regex = new RegExp('('+wordsStr+')', 'g');
    if(msg.content.match(regex)){
        content = content.replace(regex, '' );
        msg.delete().then(() => {
            chan.send( new Discord.RichEmbed()
                            .setDescription(content)
                            .setColor(0x4cff00)
            );
        }).catch((e) => {console.error(e);});
    }
}
});
//client.login('token');
client.login('NDQ0MjY57oEEcgM');

//frase de pruebas
//hola qwerty https://t.co/4234jhg2 asdf queda así.

Debería de borrar: hola qwerty https://t.co/4234jhg2 asdf queda así

Y quedar el mensaje hola https://hola.es/ queda así.

borra el asdf y qwerty pero no la url.

bazoo

El método replace es de String, no de Array. A parte que lo has puesto ahí tal cual xD

Doy por hecho que el mensaje se encuentra en la variable 'msg.content' (?).

En ese caso sería algo tipo:

msg.content = msg.content.replace('https://t.co/4234jhg2', 'https://hola.es/');
1 2 respuestas
Tencru

#4 si se encuentra dentro de 'msg.content'

Voy a probar gracias

Tencru

#4 Perfecto, pueden cerrar, muchísimas gracias!

Usuarios habituales

  • Tencru
  • bazoo