mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-19 21:40:51 +02:00
Test new embed format on user command
This commit is contained in:
+22
-16
@@ -1,6 +1,7 @@
|
|||||||
const Command = require('../../structures/Command');
|
const Command = require('../../structures/Command');
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
const { MessageEmbed } = require('discord.js');
|
const { MessageEmbed } = require('discord.js');
|
||||||
|
const { stripIndents } = require('common-tags');
|
||||||
const { trimArray } = require('../../util/Util');
|
const { trimArray } = require('../../util/Util');
|
||||||
const activities = {
|
const activities = {
|
||||||
PLAYING: 'Playing',
|
PLAYING: 'Playing',
|
||||||
@@ -32,11 +33,14 @@ module.exports = class UserCommand extends Command {
|
|||||||
async run(msg, { user }) {
|
async run(msg, { user }) {
|
||||||
const format = user.avatar && user.avatar.startsWith('a_') ? 'gif' : 'png';
|
const format = user.avatar && user.avatar.startsWith('a_') ? 'gif' : 'png';
|
||||||
const embed = new MessageEmbed()
|
const embed = new MessageEmbed()
|
||||||
.setThumbnail(user.displayAvatarURL({ format }))
|
.setAuthor(user.tag)
|
||||||
.addField('❯ Name', user.tag, true)
|
.setThumbnail(user.displayAvatarURL({ format }));
|
||||||
.addField('❯ ID', user.id, true)
|
let description = stripIndents`
|
||||||
.addField('❯ Discord Join Date', moment.utc(user.createdAt).format('MM/DD/YYYY h:mm A'), true)
|
**General User Info:**
|
||||||
.addField('❯ Bot?', user.bot ? 'Yes' : 'No', true);
|
• ID: ${user.id}
|
||||||
|
• Discord Join Date: ${moment.utc(user.createdAt).format('MM/DD/YYYY h:mm A')}
|
||||||
|
• ${user.bot ? 'Bot' : 'Not a Bot'}
|
||||||
|
`;
|
||||||
if (msg.channel.type === 'text') {
|
if (msg.channel.type === 'text') {
|
||||||
try {
|
try {
|
||||||
const member = await msg.guild.members.fetch(user.id);
|
const member = await msg.guild.members.fetch(user.id);
|
||||||
@@ -45,21 +49,23 @@ module.exports = class UserCommand extends Command {
|
|||||||
.filter(role => role.id !== defaultRole.id)
|
.filter(role => role.id !== defaultRole.id)
|
||||||
.sort((a, b) => b.position - a.position)
|
.sort((a, b) => b.position - a.position)
|
||||||
.map(role => role.name);
|
.map(role => role.name);
|
||||||
embed
|
description += stripIndents`
|
||||||
.setColor(member.displayHexColor)
|
|
||||||
.setDescription(member.presence.activity
|
**Server Member Info:**
|
||||||
? `${activities[member.presence.activity.type]} **${member.presence.activity.name}**`
|
• Nickname: ${member.nickname || 'None'}
|
||||||
: '')
|
• Server Join Date: ${moment.utc(member.joinedAt).format('MM/DD/YYYY h:mm A')}
|
||||||
.addField('❯ Server Join Date', moment.utc(member.joinedAt).format('MM/DD/YYYY h:mm A'), true)
|
• Highest Role: ${member.roles.highest.id === defaultRole.id ? 'None' : member.roles.highest.name}
|
||||||
.addField('❯ Nickname', member.nickname || 'None', true)
|
• Hoist Role: ${member.roles.hoist ? member.roles.hoist.name : 'None'}
|
||||||
.addField('❯ Highest Role',
|
|
||||||
member.roles.highest.id === defaultRole.id ? 'None' : member.roles.highest.name, true)
|
**Roles (${roles.length})**
|
||||||
.addField('❯ Hoist Role', member.roles.hoist ? member.roles.hoist.name : 'None', true)
|
• ${roles.length ? trimArray(roles, 6).join(', ') : 'None'}
|
||||||
.addField(`❯ Roles (${roles.length})`, roles.length ? trimArray(roles, 10).join(', ') : 'None');
|
`;
|
||||||
|
embed.setColor(member.displayHexColor);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
embed.setFooter('Failed to resolve member, showing basic user information instead.');
|
embed.setFooter('Failed to resolve member, showing basic user information instead.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
embed.setDescription(description);
|
||||||
return msg.embed(embed);
|
return msg.embed(embed);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "xiao",
|
"name": "xiao",
|
||||||
"version": "109.3.2",
|
"version": "109.3.3",
|
||||||
"description": "Your personal server companion.",
|
"description": "Your personal server companion.",
|
||||||
"main": "Xiao.js",
|
"main": "Xiao.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user