Compare commits
4 Commits
56ce10d420
...
c3490af9d0
Author | SHA1 | Date |
---|---|---|
Emily | c3490af9d0 | |
Emily | c33e02e06d | |
Emily | f812359b42 | |
Emily | c7b87dc4bf |
|
@ -1,4 +1,5 @@
|
|||
const Command = require("../../base/Command.js");
|
||||
const replies = require('../../assets/replies.json');
|
||||
|
||||
module.exports = class Ping extends Command {
|
||||
constructor (name, category) {
|
||||
|
@ -8,7 +9,8 @@ module.exports = class Ping extends Command {
|
|||
this.category = category
|
||||
}
|
||||
|
||||
run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||
return interaction.reply('Pong! Did I do this right?');
|
||||
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||
const msg = await interaction.reply({ content: replies.ping.random(), fetchReply: true });
|
||||
interaction.editReply(`${msg.content} Roundtrip: \`${msg.createdTimestamp - interaction.createdTimestamp}ms\` Heartbeat: \`${client.ws.ping}ms\``);
|
||||
}
|
||||
};
|
|
@ -0,0 +1,33 @@
|
|||
const Command = require("../../base/Command.js");
|
||||
|
||||
module.exports = class Avatar extends Command {
|
||||
constructor (name, category) {
|
||||
super (name, category)
|
||||
this.name = name,
|
||||
this.description = 'View a full-sized version of someone\'s avatar.',
|
||||
this.options = [
|
||||
{
|
||||
type: 6,
|
||||
name: "user",
|
||||
description: "The user to get the avatar of."
|
||||
},
|
||||
],
|
||||
this.usage = "/avatar [user]"
|
||||
this.friendlyOptions = "`user` - The user to get the avatar of (optional)",
|
||||
this.category = category
|
||||
}
|
||||
|
||||
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||
const target = await interaction.options.getUser('user') ?? interaction.user;
|
||||
const user = await client.users.fetch(target.id, {force: true})
|
||||
const member = await interaction.guild.members.fetch(target.id, {force: true})
|
||||
|
||||
const embed = new client.EmbedBuilder()
|
||||
.setTitle(user.username + '#' + user.discriminator + "'s avatar")
|
||||
.setColor(user.hexAccentColor ?? member.displayHexColor)
|
||||
.setDescription(`[Global avatar](${user.avatarURL({extension: "png", "size": 4096})})`)
|
||||
.setImage(member.displayAvatarURL({extension: "png", "size": 4096}));
|
||||
|
||||
await interaction.reply({embeds: [embed]});
|
||||
}
|
||||
};
|
|
@ -1,52 +0,0 @@
|
|||
module.exports = class {
|
||||
constructor (name, category) {
|
||||
this.name = name,
|
||||
this.category = category,
|
||||
this.enabled = true,
|
||||
this.devOnly = false,
|
||||
this.aliases = ['pfp'],
|
||||
this.userPerms = [],
|
||||
this.botPerms = [],
|
||||
this.cooldown = 2000,
|
||||
this.help = {
|
||||
description: 'View a full-sized version of someone\'s avatar.',
|
||||
arguments: '<user>',
|
||||
details: '',
|
||||
examples: 'avatar\navatar @May\navatar emily'
|
||||
};
|
||||
}
|
||||
|
||||
async run (client, message, args, data) { //eslint-disable-line no-unused-vars
|
||||
|
||||
let member = message.member;
|
||||
|
||||
if (args[0]) {
|
||||
if (message.mentions.length > 0) {
|
||||
member = await message.guild.members.fetch(message.mentions[0].id)
|
||||
} else {
|
||||
member = await client.functions.validateUserID(message.guild, args[0]);
|
||||
|
||||
if (!member) {
|
||||
member = await message.guild.searchMembers(args.join(' '), 2);
|
||||
|
||||
if (member.length === 0) return message.channel.send(
|
||||
`${client.config.emojis.userError} No users found. Check for mispellings, or ping the user instead.`
|
||||
);
|
||||
|
||||
if (member.length > 1) return message.channel.send(
|
||||
`${client.config.emojis.userError} Found more than one user, try refining your search or pinging the user instead.`
|
||||
);
|
||||
|
||||
member = member[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const embed = new client.MessageEmbed()
|
||||
.setTitle(member.user.username + '#' + member.user.discriminator)
|
||||
.setColor(client.functions.embedColor(message.guild, member))
|
||||
.setImage(member.user.avatarURL);
|
||||
|
||||
message.channel.send({ embeds: [embed] });
|
||||
}
|
||||
};
|
|
@ -33,7 +33,7 @@ module.exports = class {
|
|||
const cooldown = command.cooldown / 1000;
|
||||
const timePassed = Math.floor((currentTime - timestamp) / 1000);
|
||||
return interaction.reply(
|
||||
`${client.config.emojis.wait} ${message.author.mention}, you need to wait ${cooldown - timePassed} seconds before using this command again.`
|
||||
`${client.config.emojis.wait} <@${interaction.user.id}>, you need to wait ${cooldown - timePassed} seconds before using this command again.`
|
||||
);
|
||||
} else {
|
||||
client.cooldowns.get(command.name).set(interaction.user.id, new Date());
|
||||
|
@ -42,6 +42,7 @@ module.exports = class {
|
|||
}, client.commands.get(command.name).cooldown);
|
||||
}
|
||||
|
||||
// Try to execute the command, if it fails return error stack and inform the user
|
||||
try {
|
||||
command.run(client, interaction, data);
|
||||
client.logger.command(`Ran ${command.name}`);
|
||||
|
|
|
@ -21,7 +21,7 @@ class WoomyClient extends Discord.Client {
|
|||
|
||||
// Essential modules
|
||||
this.logger = Logger;
|
||||
this.MessageEmbed = Discord.MessageEmbed;
|
||||
this.EmbedBuilder = Discord.EmbedBuilder;
|
||||
this.db = new Database(this);
|
||||
this.functions = new Functions(this);
|
||||
this.commandLoader = new CommandLoader(this);
|
||||
|
|
Loading…
Reference in New Issue