Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用discord.js获取URL信息_Javascript_Node.js_Url_Discord.js - Fatal编程技术网

Javascript 如何使用discord.js获取URL信息

Javascript 如何使用discord.js获取URL信息,javascript,node.js,url,discord.js,Javascript,Node.js,Url,Discord.js,我目前正在开发一个discord机器人,我希望在我的服务器中有一个频道, 人们可以发送链接,但我不想让服务器自动嵌入链接, 我想从这个URL链接中获取我自己创建(机器人将创建)嵌入所需的所有信息, 页脚会说,例如,谁推荐了这个链接,我希望缩略图与url的缩略图匹配(如果它指向youtube视频,例如。) 要求是我有一个带有此URL的字符串, 有没有人能给我一个图书馆,我可以在那里找到这些东西, 因为每个url的显示对象(网页、youtube视频、图片)都不同 还有:有没有一种方法可以确定一条消息

我目前正在开发一个discord机器人,我希望在我的服务器中有一个频道, 人们可以发送链接,但我不想让服务器自动嵌入链接, 我想从这个URL链接中获取我自己创建(机器人将创建)嵌入所需的所有信息, 页脚会说,例如,谁推荐了这个链接,我希望缩略图与url的缩略图匹配(如果它指向youtube视频,例如。)

要求是我有一个带有此URL的字符串, 有没有人能给我一个图书馆,我可以在那里找到这些东西, 因为每个url的显示对象(网页、youtube视频、图片)都不同

还有:有没有一种方法可以确定一条消息是否包含一个URL,或者仅仅是一个URL。 我想过滤我的频道,这样只有URL可以发布,其他消息将被删除(我有一个删除功能)


提前谢谢

您可以尝试使用元数据从页面获取一些信息,或者,我认为Discord可以使用它预览一些链接

您必须禁用“嵌入链接”权限,以防止出现不一致的嵌入,然后发送您的嵌入

您可以使用和从页面获取元数据

例如:

fetch(url).then(res=>res.text())
。然后(html=>{
const$=cheerio.load(html)
console.log($(($[property='og:title'])[0].attribs.content)//从页面返回og标题
此问题的url示例:

const fetch=require(“节点提取”)
const cheerio=需要(“cheerio”)
取回(“https://stackoverflow.com/questions/63141471/how-to-get-information-of-an-url-with-discord-js)然后(res=>res.text()
。然后(html=>{
const$=cheerio.load(html)
const title=$(“meta[property='og:title'])[0]| |$(“meta[name='twitter:title']))
const description=$(“元[property='og:description'])[0]| |$(“元[name='twitter:description'])[0]
const image=$(“meta[property='og:image'])[0]| |$(“meta[name='twitter:image'])[0]
const nothing=$([meta[property='og:thisdoesntextests'])[0]//尝试获取不存在的内容
console.log(title?title.attribs.content:“无标题”)//如何使用discord.js获取URL信息
console.log(description?description.attribs.content:“无描述”)//简短描述
console.log(image?image.attribs.content:“无图像”)//https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=73d79a89bded
console.log(nothing?nothing.attribs.content:“字面上,什么都没有”)//字面上,什么都没有
})

您可以尝试使用元数据从页面获取一些信息,或者,我认为Discord可以使用它预览一些链接

您必须禁用“嵌入链接”权限,以防止出现不一致的嵌入,然后发送您的嵌入

您可以使用和从页面获取元数据

例如:

fetch(url).then(res=>res.text())
。然后(html=>{
const$=cheerio.load(html)
console.log($(($[property='og:title'])[0].attribs.content)//从页面返回og标题
此问题的url示例:

const fetch=require(“节点提取”)
const cheerio=需要(“cheerio”)
取回(“https://stackoverflow.com/questions/63141471/how-to-get-information-of-an-url-with-discord-js)然后(res=>res.text()
。然后(html=>{
const$=cheerio.load(html)
const title=$(“meta[property='og:title'])[0]| |$(“meta[name='twitter:title']))
const description=$(“元[property='og:description'])[0]| |$(“元[name='twitter:description'])[0]
const image=$(“meta[property='og:image'])[0]| |$(“meta[name='twitter:image'])[0]
const nothing=$([meta[property='og:thisdoesntextests'])[0]//尝试获取不存在的内容
console.log(title?title.attribs.content:“无标题”)//如何使用discord.js获取URL信息
console.log(description?description.attribs.content:“无描述”)//简短描述
console.log(image?image.attribs.content:“无图像”)//https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=73d79a89bded
console.log(nothing?nothing.attribs.content:“字面上,什么都没有”)//字面上,什么都没有
})

嘿,这帮了大忙!但你能帮我知道网站名称吗?我看了一些文档,但真的很困惑和迷茫……:“网站名称”是什么意思?你想要网站域名,比如google.com,或者仅仅是google?如果我的回答有助于回答主要问题,请标记为correctOnly google。我想我知道了,这是site_name嘿,这有很多帮助!但是你能帮我如何获得网站名称吗?我看了一些文档,但真的很困惑和迷茫…:/你的意思是什么用“网站名称”?你想要网站域名,比如google.com,或者仅仅是google?如果我的回答有助于回答主要问题,请标记为correctOnly google。我想我找到了,它是site_name