1 |
import { formatDistanceToNowStrict } from "date-fns"; |
2 |
import { Message, Interaction, CacheType, CommandInteraction, Guild, GuildPreview } from "discord.js"; |
3 |
import Client from "../../client/Client"; |
4 |
import MessageEmbed from "../../client/MessageEmbed"; |
5 |
import CommandOptions from "../../types/CommandOptions"; |
6 |
import InteractionOptions from "../../types/InteractionOptions"; |
7 |
import { emoji } from "../../utils/Emoji"; |
8 |
import getUser from "../../utils/getUser"; |
9 |
import BaseCommand from "../../utils/structures/BaseCommand"; |
10 |
|
11 |
export default class AvatarLookupCommand extends BaseCommand { |
12 |
constructor() { |
13 |
super("avatarlookup", "information", ["avlookup", "pfplookup", "findpfp"]); |
14 |
} |
15 |
|
16 |
async run(client: Client, message: CommandInteraction<CacheType> | Message<boolean>, options: CommandOptions | InteractionOptions): Promise<void> { |
17 |
if (!options.isInteraction && options.args[0] === undefined) { |
18 |
await message.reply(`${emoji('error')} You must provide the user to lookup avatar.`); |
19 |
return; |
20 |
} |
21 |
|
22 |
const user = options.isInteraction ? options.options.getUser("user")! : await getUser(client, message as Message, options, 0); |
23 |
|
24 |
if (!user) { |
25 |
await message.reply(`${emoji('error')} That user does not exist.`); |
26 |
return; |
27 |
} |
28 |
|
29 |
await message.reply({ |
30 |
embeds: [ |
31 |
new MessageEmbed({ |
32 |
author: { |
33 |
name: user.tag, |
34 |
iconURL: user.displayAvatarURL() |
35 |
}, |
36 |
description: `Generated Google Search URL: https://images.google.com/searchbyimage?image_url=${encodeURIComponent(user.displayAvatarURL())}`, |
37 |
footer: { |
38 |
text: `Avatar Lookup • ${user.id}` |
39 |
} |
40 |
}) |
41 |
.setTimestamp() |
42 |
.setThumbnail(user.displayAvatarURL()) |
43 |
] |
44 |
}); |
45 |
} |
46 |
} |