我怎样才能制作一个基本上嵌入链接网站的机器人?
How can I make a bot that basically makes an embed of a linked site?
我已经制作了几个不和谐的机器人,但我仍然是一个新手,我想知道如何制作一个嵌入任何网站的机器人(有点像 YouTube 如何嵌入视频,但在一个嵌入中包含网站的文本和多模式元素),在机器人的前缀和命令 'site' 之后发布。我不知道如何让机器人对刺激做出反应,我也不确定嵌入会如何工作。我只是希望能够做到这样,任何用户都可以输入 discord =site *Enter URL here*
,它会创建一个网站嵌入,这样人们就不会浏览链接。到目前为止,这是我的代码,它非常基础,但我不知道如何实现嵌入网站的能力。我知道站点命令根本不起作用,但这些是我的尝试:
const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = '=';
client.once('ready', () => {
console.log('WebPress is now online!');
client.user.setActivity('Microsoft Word 1996', { type: 'PLAYING' })
});
client.on('message', message => {
if(!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/)
const command = args.shift().toLowerCase();
if (command === 'ping'){
message.channel.send('`Pong!`');
} else if (command == 'site'){
const siteEmbed = new Discord.MessageEmbed()
.setURL(**THE URL THAT A USER SENDS**)
if (!message.channel.first.size()) {
return message.reply("please give me a website URL to embed!");
} else message.channel.first();
message.channel.send(`${siteEmbed}`);
}
});
client.login('My token here');
感谢您的帮助,祝您愉快! :)
要发送带有 link 的嵌入,您可以这样做。这将在标题中创建一个带有 hyperlink 的嵌入。
const siteEmbed = new Discord.MessageEmbed()
.setURL(args[0])
.setTitle("Your desription here");
有关嵌入的更多信息,请参阅此处https://discordjs.guide/popular-topics/embeds.html#embed-preview
要检查您的用户是否真的发送了 link,您可以检查第一个参数是否存在。
if (!args[0]) {
return message.reply("please give me a website URL to embed!");
}
对于任何正在看这个的人来说,这个问题早已解决,使用 Pupeteer API 截取网站的屏幕截图并附上用户发送的 URL。感谢当时我忘记 args 存在时的帮助 哈哈 :D
我已经制作了几个不和谐的机器人,但我仍然是一个新手,我想知道如何制作一个嵌入任何网站的机器人(有点像 YouTube 如何嵌入视频,但在一个嵌入中包含网站的文本和多模式元素),在机器人的前缀和命令 'site' 之后发布。我不知道如何让机器人对刺激做出反应,我也不确定嵌入会如何工作。我只是希望能够做到这样,任何用户都可以输入 discord =site *Enter URL here*
,它会创建一个网站嵌入,这样人们就不会浏览链接。到目前为止,这是我的代码,它非常基础,但我不知道如何实现嵌入网站的能力。我知道站点命令根本不起作用,但这些是我的尝试:
const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = '=';
client.once('ready', () => {
console.log('WebPress is now online!');
client.user.setActivity('Microsoft Word 1996', { type: 'PLAYING' })
});
client.on('message', message => {
if(!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/)
const command = args.shift().toLowerCase();
if (command === 'ping'){
message.channel.send('`Pong!`');
} else if (command == 'site'){
const siteEmbed = new Discord.MessageEmbed()
.setURL(**THE URL THAT A USER SENDS**)
if (!message.channel.first.size()) {
return message.reply("please give me a website URL to embed!");
} else message.channel.first();
message.channel.send(`${siteEmbed}`);
}
});
client.login('My token here');
感谢您的帮助,祝您愉快! :)
要发送带有 link 的嵌入,您可以这样做。这将在标题中创建一个带有 hyperlink 的嵌入。
const siteEmbed = new Discord.MessageEmbed()
.setURL(args[0])
.setTitle("Your desription here");
有关嵌入的更多信息,请参阅此处https://discordjs.guide/popular-topics/embeds.html#embed-preview
要检查您的用户是否真的发送了 link,您可以检查第一个参数是否存在。
if (!args[0]) {
return message.reply("please give me a website URL to embed!");
}
对于任何正在看这个的人来说,这个问题早已解决,使用 Pupeteer API 截取网站的屏幕截图并附上用户发送的 URL。感谢当时我忘记 args 存在时的帮助 哈哈 :D