javascript - 使用 random-puppy 和 discord.js v12 绕过 NSFW 警告页面?
问题描述
我正在尝试制作一个 meme 机器人(使用 reddit),但一些 subreddit 有一个 NSFW 警告页面,它阻止随机小狗获取图像,我该如何绕过它?如果你知道更好的事情,我很欢迎随机小狗的替代品
module.exports = {
name: "meme",
description: "Sends a meme",
async execute(message, args){
const Discord = require("discord.js");
const bot = new Discord.Client();
const ms = require("ms");
const moment = require("moment");
const colors = require("colors");
const randomPuppy = require("random-puppy");
const memeSubreddits = ["dankmemes", "memes", "meme", "me_irl", "meirl", "comedyheaven", "NSFWMemes", "okbuddyretard"]
const memeRandom = memeSubreddits[Math.floor(Math.random() * memeSubreddits.length)];
const memeImage = await randomPuppy(memeRandom);
const memeEmbed = new Discord.RichEmbed()
.setColor("RANDOM")
.setImage(memeImage)
.setTitle(`From r/${memeRandom}`)
.setURL(`https://reddit.com/r/${memeRandom}`);
message.channel.send(memeEmbed);
}
}
解决方案
我建议使用memejs从 Reddit 获取 meme。正如它的包名所暗示的那样,它会获取模因,但您也可以过滤它收集的内容。
例如,您可以这样做:
module.exports = {
name: "meme",
description: "Sends a meme",
guildOnly: true,
execute(message) {
const {
meme
} = require('memejs');
meme(function (err, data) {
if (err) return console.error(err);
const Discord = require('discord.js');
const memeRes = new Discord.RichEmbed()
.setTitle(data.title)
.setImage(data.url)
.setFooter(data.subreddit)
.setTimestamp('Created ' + data.created)
message.channel.send(memeRes).then().catch(console.error);
});
},
}
与每个 Node 包一样,您可以在 RunKit 上使用它们。你可以在这里做
另外,作为一个小提示,您不需要声明命令中未使用的模块。这基本上从您的命令中消除了以下内容:
const bot = new Discord.Client();
const ms = require("ms");
const moment = require("moment");
const colors = require("colors");
推荐阅读
- c - 如何遍历给定txt文件中的整数并在c中找到第二大数字?
- node.js - Sequelize:与
绑定
images is not associated to product!
模型的关联时出现错误。ProductImages
与模型相关联Product
并且ProductImages
与Images
模型相关联。所以,我需要通过分配属性来将images
属- python-3.x - cv2.Laplacian vs cv2.filter2d - 不同的结果
- python - 如何解决 ImportError: cannot import name 'LoginManager' from 'flask_login' in Flask?
- python - 如何获取所选城市的 OSMnx 中所有可驾驶或可骑自行车的道路的长度?
- python - 返回计数大于阈值的所有 bin 的数据索引
- swift - 如何在 SwiftUI 中控制 iPadOS 上的鼠标位置
- javascript - 单个分隔滚动条而不是 3 个表格滚动条
- powershell - Azure Devops:根据输入的 json 配置条件运行任务
- java - 正则表达式将某些字符串替换为后面的数字范围