import axios from "axios"; import Color from "./Color.js"; const getTitle = async (url) => { const r = await axios({ method: "get", url }); const doc = r.data; return doc.split("")[1].split("")[0]; }; const UrlTitle = (event) => { const geturl = new RegExp( "(^|[ \t\r\n])((ftp|http|https|gopher|gemini|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))", "g" ); let msg = event.message; if (msg && msg.match(geturl)) { let urls = msg.match(geturl); urls.map(async (url) => { let title = await getTitle(url.trim()); return event.reply(Color("Title") + " " + title); }); } else { return false; } }; export default UrlTitle;