36 lines
1.4 KiB
JavaScript
36 lines
1.4 KiB
JavaScript
|
const { MessageEmbed } = require("discord.js");
|
||
|
const fetch = require("node-fetch");
|
||
|
module.exports = {
|
||
|
name: "dog",
|
||
|
category: "Fun",
|
||
|
description: "Get a dog from reddit",
|
||
|
run: async (client, interaction, args) => {
|
||
|
let subreddits = ["dog", "dogs"];
|
||
|
let subreddit = subreddits[Math.floor(Math.random() * subreddits.length)];
|
||
|
fetch(`https://www.reddit.com/r/${subreddit}/random/.json`).then(
|
||
|
async res => {
|
||
|
let content = await res.json();
|
||
|
let permalink = content[0].data.children[0].data.permalink;
|
||
|
let memeURL = `https://reddit.com${permalink}`;
|
||
|
let memeImage = content[0].data.children[0].data.url;
|
||
|
let memeTitle = content[0].data.children[0].data.title;
|
||
|
let memeUpvotes = content[0].data.children[0].data.ups;
|
||
|
let memeDownvotes = content[0].data.children[0].data.downs;
|
||
|
let memeNumComments = content[0].data.children[0].data.num_comments;
|
||
|
const memeEmbed = new MessageEmbed()
|
||
|
.setTitle(`A dog image | ${memeTitle}`)
|
||
|
.setAuthor(
|
||
|
interaction.member.user.tag,
|
||
|
interaction.user.displayAvatarURL({ dynamic: true })
|
||
|
)
|
||
|
.setURL(`${memeURL}`)
|
||
|
.setImage(memeImage)
|
||
|
.setTimestamp()
|
||
|
.setColor(client.color)
|
||
|
.setFooter(` 👍 ${memeUpvotes} 💬 ${memeNumComments}`);
|
||
|
await interaction.followUp({ embeds: [memeEmbed] });
|
||
|
}
|
||
|
);
|
||
|
},
|
||
|
};
|