let inPrivate = require('../helpers.js').inPrivate; let responseDebug = false; exports.custom = [ 'lbrylink' //change this to your function name ]; exports.lbrylink = function(bot, msg, suffix) { bot.on('message', msg => { if (inPrivate(msg)) { return; } if (msg.content.includes('lbry://')) { //Extract URL from Message let newURL = msg.content .replace('lbry://', 'https://open.lbry.io/') .match(/\bhttps?:\/\/\S+/gi) .toString(); if (responseDebug) { console.log('___________________________'); console.log('newURL = ' + newURL); } //Check if just lbry:// was supplied if (newURL == 'https://open.lbry.io/') { return; } //Check if Username Was Supplied if (newURL.includes('>')) { //Get rid of ID from message let parseID = newURL.split('>').pop(); let newURL = 'https://open.lbry.io' + parseID; if (responseDebug) { console.log('Username Provided!'); console.log('parseID = ' + parseID); console.log('newURL = ' + newURL); } //check if just Username Was Supplied if (!newURL.substr(20).includes('/')) { return; } //check if more than username was supplied //Also check obscurity in username like ``@MSFTserver` vs `@MSFTserverPics` if (parseID.includes('/')) { //parse out extra params before `/` like `<@123456789>Pics` let parseID = parseID.split('/').pop(); let newURL = 'https://open.lbry.io/' + parseID; if (responseDebug) { console.log('Username no / check'); console.log('parseID = ' + parseID); console.log('newURL = ' + newURL); } //checks if username had if after it or just blank to be safe if (newURL == 'https://open.lbry.io/' || parseID.startsWith('#')) { return; } } //one last saftey check if (newURL == 'https://open.lbry.io') { return; } //If no UserName Found proceed } else { if (newURL == 'https://open.lbry.io/') { return; } if (responseDebug) { console.log('___________________________'); console.log('newURL = ' + newURL); } } const embed = { description: "I see you tried to post a LBRY URL, here's a friendly hyperlink to share and for others to access your content with a single click: \n" + newURL, color: 7976557, author: { name: 'LBRY Linker', icon_url: 'https://i.imgur.com/yWf5USu.png' } }; msg.channel.send({ embed }); } }); };