let inPrivate = require('../helpers.js').inPrivate; let { RichEmbed } = require('discord.js'); exports.custom = [ 'lbrylink' //change this to your function name ]; exports.lbrylink = async function(bot, msg, suffix) { bot.on('message', msg => { if (inPrivate(msg)) { return; } if (msg.content.includes('lbry://')) { try { // Extract the URL(s). const urls = msg.content .replace(new RegExp('(lbry:\\/\\/)', 'g'), 'https://open.lbry.io/') .match(/\bhttps?:\/\/\S+/gi) .filter(url => url !== 'https://open.lbry.io/'); const cleanURLs = []; for (const i in urls) { // Check if Username Was Supplied const user = urls[i].match('<@.*>'); if (user) { const { username } = msg.mentions.users.get(user[0].slice(2, -1)); urls[i] = urls[i].replace(user[0], `@${username}`); } // Push clean URLs to the array. cleanURLs.push(urls[i]); } if (cleanURLs.length < 1) return; const linkEmbed = new RichEmbed(); linkEmbed .setAuthor('LBRY Linker') .setDescription("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:") .setColor(7976557); cleanURLs.forEach(url => linkEmbed.addField('Open with LBRY:', url, true)); return msg.channel.send({ embed: linkEmbed }); } catch (e) { console.log(e); msg.channel.send('Something went wrong when trying to run the lbrylinker, contact a moderator.'); } } }); };