【问题标题】:Is there anyway to take screenshots using javascript(node.js only) (discord bot)?反正有没有使用javascript(仅限node.js)(discord bot)截屏?
【发布时间】:2020-04-01 14:11:56
【问题描述】:

我正在通过 discord.js 开发 Discord 机器人;我正在尝试创建一个命令,该命令会截取特定网站(已登录)并将它们发布回聊天中。但是,我一直找不到截屏的方法。

【问题讨论】:

标签: javascript discord discord.js


【解决方案1】:
const discord = require("discord.js");

module.exports.run = async (Client, message, args, prefix) => {
  if (!message.content.startsWith(prefix)) return;

  const sentence = args.join("+");
  let sntnce = message.content.split(" ");
  sntnce.shift();
  sntnce = sntnce.join(" ");
  if (!sentence) return message.reply("**Please specify a search query.**");
  let embed = new discord.MessageEmbed()
    .setTitle("**You Searched Google**")
    .setDescription(
      `**Your Search Query:** ${sntnce}\n\n **Search Result** - [Click Here](https://www.google.com/search?q=${sentence}&oq=${sentence}&aqs=chrome.0.69i59l2j0l2j69i60j69i61l2j69i65.1147j0j7&sourceid=chrome&ie=UTF-8)`
    )
    .setColor("GREEN")
    .setFooter(" ");
  message.channel.send(embed);
};

module.exports.help = {
  name: `google`,
  aliases: [],
};

【讨论】:

  • 此命令与操作的问题无关。
【解决方案2】:

Puppeteer 是一个很好的解决方案如果你可以让它工作。当涉及到自我机器人时,您可能会遇到验证码和不和谐 TOS 的问题。您可以尝试的一种替代方法是复制不和谐使用的 CSS 样式/格式,然后使用 Puppeteer 使用您可以通过典型 API 获得的原始数据生成外观相同的网页。

【讨论】:

    【解决方案3】:

    results that include puppeteer

    如果您想坚持使用 Javascript,请尝试搜索包含 puppeteer 的结果

    【讨论】:

      【解决方案4】:

      试试Puppeteer,它是一个无头 Chrome Node.js API,可以轻松处理网站。它可以让您像浏览器一样工作,因此您可以使用elementHandle .typeelementHandle.click, 以及built in screenshot function. 登录

      您可以在https://try-puppeteer.appspot.com/ 上查看 Puppeteer 的工作示例

      【讨论】:

      • Puppeteer 也是我的推荐,但我担心这会破坏自我机器人的 TOS。验证码也会失败...
      猜你喜欢
      • 2019-04-11
      • 2020-08-10
      • 2021-12-26
      • 2020-09-12
      • 2021-12-16
      • 2019-08-14
      • 2019-01-12
      • 2019-03-19
      相关资源
      最近更新 更多