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 Command = require("../../base/Command.js");
|
||||||
|
const replies = require('../../assets/replies.json');
|
||||||
|
|
||||||
module.exports = class Ping extends Command {
|
module.exports = class Ping extends Command {
|
||||||
constructor (name, category) {
|
constructor (name, category) {
|
||||||
|
@ -8,7 +9,8 @@ module.exports = class Ping extends Command {
|
||||||
this.category = category
|
this.category = category
|
||||||
}
|
}
|
||||||
|
|
||||||
run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||||
return interaction.reply('Pong! Did I do this right?');
|
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 cooldown = command.cooldown / 1000;
|
||||||
const timePassed = Math.floor((currentTime - timestamp) / 1000);
|
const timePassed = Math.floor((currentTime - timestamp) / 1000);
|
||||||
return interaction.reply(
|
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 {
|
} else {
|
||||||
client.cooldowns.get(command.name).set(interaction.user.id, new Date());
|
client.cooldowns.get(command.name).set(interaction.user.id, new Date());
|
||||||
|
@ -42,6 +42,7 @@ module.exports = class {
|
||||||
}, client.commands.get(command.name).cooldown);
|
}, client.commands.get(command.name).cooldown);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Try to execute the command, if it fails return error stack and inform the user
|
||||||
try {
|
try {
|
||||||
command.run(client, interaction, data);
|
command.run(client, interaction, data);
|
||||||
client.logger.command(`Ran ${command.name}`);
|
client.logger.command(`Ran ${command.name}`);
|
||||||
|
|
|
@ -21,7 +21,7 @@ class WoomyClient extends Discord.Client {
|
||||||
|
|
||||||
// Essential modules
|
// Essential modules
|
||||||
this.logger = Logger;
|
this.logger = Logger;
|
||||||
this.MessageEmbed = Discord.MessageEmbed;
|
this.EmbedBuilder = Discord.EmbedBuilder;
|
||||||
this.db = new Database(this);
|
this.db = new Database(this);
|
||||||
this.functions = new Functions(this);
|
this.functions = new Functions(this);
|
||||||
this.commandLoader = new CommandLoader(this);
|
this.commandLoader = new CommandLoader(this);
|
||||||
|
|
Loading…
Reference in New Issue