Server and user info command
This commit is contained in:
parent
66736a5557
commit
9dd060aa28
2 changed files with 99 additions and 0 deletions
33
commands/utility/serverinfo.js
Normal file
33
commands/utility/serverinfo.js
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
import { SlashCommandBuilder, EmbedBuilder } from 'discord.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('serverinfo')
|
||||||
|
.setDescription('Show info about the server'),
|
||||||
|
category: 'utility',
|
||||||
|
alias: ['server'],
|
||||||
|
async execute(interaction, args, client) {
|
||||||
|
await interaction.guild.members.fetch();
|
||||||
|
const botCount = interaction.guild.members.cache.filter(member => member.user.bot).size;
|
||||||
|
const guildOwner = await client.users.fetch(interaction.guild.ownerId);
|
||||||
|
|
||||||
|
const addEmbed = new EmbedBuilder()
|
||||||
|
.setColor(interaction.member ? interaction.member.displayHexColor : 'NAVY')
|
||||||
|
.setTitle(interaction.guild.name)
|
||||||
|
.setThumbnail(interaction.guild.iconURL())
|
||||||
|
.addFields(
|
||||||
|
{ name: 'Number of users', value: (interaction.guild.memberCount - botCount).toString(), inline: true },
|
||||||
|
{ name: 'Number of bots', value: botCount.toString(), inline: true },
|
||||||
|
{ name: 'Total number of members', value: interaction.guild.memberCount.toString(), inline: true },
|
||||||
|
{ name: 'Number of channels', value: interaction.guild.channels.cache.size.toString(), inline: true },
|
||||||
|
{ name: '', value:'' },
|
||||||
|
{ name: 'Date when guild created', value: interaction.guild.createdAt.toString(), inline: true },
|
||||||
|
{ name: 'Owner', value: guildOwner.toString(), inline: true },
|
||||||
|
)
|
||||||
|
.setTimestamp();
|
||||||
|
|
||||||
|
|
||||||
|
interaction.reply({ embeds: [addEmbed] });
|
||||||
|
|
||||||
|
},
|
||||||
|
};
|
66
commands/utility/userinfo.js
Normal file
66
commands/utility/userinfo.js
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
import { SlashCommandBuilder, EmbedBuilder } from 'discord.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('userinfo')
|
||||||
|
.setDescription('Show info about a user')
|
||||||
|
.addMentionableOption(option =>
|
||||||
|
option.setName('user')
|
||||||
|
.setDescription('Which user you want to see the info of?')
|
||||||
|
.setRequired(false)),
|
||||||
|
category: 'utility',
|
||||||
|
alias: ['user'],
|
||||||
|
async execute(interaction, args, client) {
|
||||||
|
await interaction.guild.members.fetch();
|
||||||
|
let member = interaction.member;
|
||||||
|
let user = interaction.user;
|
||||||
|
if (args.user) {
|
||||||
|
user = client.users.resolve(args.user);
|
||||||
|
member = interaction.guild.members.resolve(args.user);
|
||||||
|
}
|
||||||
|
const Embed = new EmbedBuilder()
|
||||||
|
.setColor(member ? member.displayHexColor : 'Navy')
|
||||||
|
.setAuthor({ name: `${user.tag} (${user.id})`, iconURL: user.displayAvatarURL() })
|
||||||
|
.addFields(
|
||||||
|
{ name: 'Current rank hex color', value: member ? member.displayHexColor : 'No rank color', inline: true },
|
||||||
|
{ name: 'Joined guild at', value: member ? member.joinedAt.toString() : 'Not in this guild', inline: true },
|
||||||
|
{ name: 'Date when account created', value: user.createdAt.toString(), inline: true },
|
||||||
|
)
|
||||||
|
.setTimestamp();
|
||||||
|
|
||||||
|
|
||||||
|
Embed.addFields({ name: '', value: '' });
|
||||||
|
|
||||||
|
// Show user status
|
||||||
|
/* Missing presence intent.
|
||||||
|
if (user.presence.activities[0]) {
|
||||||
|
Embed.addField('Presence', user.presence.activities[0], true);
|
||||||
|
if (user.presence.activities[0].details) Embed.addField('', user.presence.activities[0].details, true);
|
||||||
|
if (user.presence.activities[0].state) Embed.addField('', user.presence.activities[0].state, true);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
// Is the user a bot?
|
||||||
|
if (user.bot) Embed.addFields({ name: 'Is a bot?', value: '✅', inline: true });
|
||||||
|
|
||||||
|
// Show on which platform they are using discord from if its not a bot
|
||||||
|
/* Missing presence intent.
|
||||||
|
if (user.presence.clientStatus && !user.bot) {
|
||||||
|
Embed.addFields({ name: '', value: '' });
|
||||||
|
if (user.presence.clientStatus.mobile) Embed.addFields({ name: 'Using discord on', value: '📱 ' + user.presence.clientStatus.mobile, inline: true });
|
||||||
|
if (user.presence.clientStatus.desktop) Embed.addFields({ name: 'Using discord on', value: '💻 ' + user.presence.clientStatus.desktop, inline: true });
|
||||||
|
if (user.presence.clientStatus.web) Embed.addFields({ name: 'Using discord on', value: '☁️ ' + user.presence.clientStatus.web, inline: true });
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (member) {
|
||||||
|
// Show since when this user have been boosting the current guild
|
||||||
|
if (member.premiumSince) Embed.addFields({ name: 'Boosting this guild since', value: member.premiumSince.toString(), inline: true });
|
||||||
|
// Show guild nickname
|
||||||
|
if (member.nickname) Embed.addFields({ name: 'Nickname', value: member.nickname, inline: true });
|
||||||
|
// Show member roles
|
||||||
|
if (member.roles) Embed.addFields({ name: 'Roles', value: `${[...member.roles.cache.values()].join(', ')}` });
|
||||||
|
}
|
||||||
|
|
||||||
|
return interaction.reply({ embeds: [Embed] });
|
||||||
|
},
|
||||||
|
};
|
Loading…
Reference in a new issue